@@ -41,7 +41,7 @@ var variables = new Dictionary<string, double> { ["x"] = 2.0 };
4141var result2 = parser .Evaluate (" 1+x" , variables ).Value ; // result2 = 3.0
4242
4343// Usage of functions
44- var result3 = parser .Evaluate (" 1+min(3,4)" ).Value ; // result2 = 4.0
44+ var result3 = parser .Evaluate (" 1+min(3,4)" ).Value ; // result3 = 4.0
4545
4646// Handle errors
4747var parsingResult = parser .Evaluate (" 2*?" );
@@ -93,17 +93,18 @@ var parser = FormulaParser
9393 {
9494 // functions.RemoveAll() for removing all default functions
9595 // functions.Remove("sum") for removing function by name
96- // define function with 2 to n number of parameters (typeof(nums) = double[])
97- functions .Add (" product" , nums => nums .Aggregate ((p1 , p2 ) => p1 * p2 ));
9896
99- // define functions with specified number of parameters (1-5 parameters are supported)
97+ // define functions with certain number of parameters (1-5 parameters are supported)
10098 functions .Add (" celsiusToFarenheit" , celsius => celsius * 1 . 8 + 32 );
10199 functions .Add (" fahrenheitToCelsius" , fahrenheit => (fahrenheit - 32 ) * 5 / 9 );
102100 functions .Add (" p1_plus_p2_plus_p3" , (p1 , p2 , p3 ) => p1 + p2 + p3 );
101+
102+ // define function with 2 to n number of parameters (typeof(nums) = double[])
103+ functions .Add (" product" , nums => nums .Aggregate ((p1 , p2 ) => p1 * p2 ));
103104 }).Build ();
104105
105106var poolTemperatureInCelsius = parser .Evaluate (" celsiusToFarenheit(fahrenheitToCelsius(30))" ).Value ; // poolTemperatureInCelsius = 30
106- var result2 = parser .Evaluate (" product(2, 2, 2, 2, 2, 2, 2 )" ).Value ; // result2 = 2^6 = 128
107+ var result2 = parser .Evaluate (" product(2, 2, 2, 2, 2, 2)" ).Value ; // result2 = 2^6 = 128
107108var result3 = parser .Evaluate (" p1_plus_p2_plus_p3(1, 2, 3)" ).Value ; // result3 = 6
108109
109110string error1 = parser .Evaluate (" celsiusToFarenheit(1, 2)" ).Error ; // column 0: There is no function 'celsiusToFarenheit' that takes 2 argument(s).
0 commit comments