using uCalcSoftware; var uc = new uCalc(); static void MyAverage(uCalc.Callback cb) { double Total = 0; for (int x = 1; x <= cb.ArgCount(); x++) { Total = Total + cb.Arg(x); } cb.Return(Total / cb.ArgCount()); } var MyArrayA = uc.DefineVariable("MyArrayA[] = {10, 20, 30, 40, 50}"); var MyArrayB = uc.DefineVariable("MyArrayB[15]"); var FunctionA = uc.DefineFunction("FuncA(x, y, z) = x + y + z"); var FunctionB = uc.DefineFunction("FuncB(x, y, a = 12, b = 34) = x+y+a+b"); var FunctionC = uc.DefineFunction("FuncC(x, y ...)", MyAverage); var FunctionD = uc.DefineFunction("FuncD() = 1+1"); Console.WriteLine($"Elements in array (from initializer): {MyArrayA.Count}"); Console.WriteLine($"Elements in array (from size): {MyArrayB.Count}"); Console.WriteLine($"Parameters in FuncA() (fixed): {FunctionA.Count}"); Console.WriteLine($"Parameters in FuncB() (with optional): {FunctionB.Count}"); Console.WriteLine($"Parameters in FuncC() (variadic): {FunctionC.Count}"); Console.WriteLine($"Parameters in FuncD() (none): {FunctionD.Count}"); Console.WriteLine($"Operands in '!' operator (postfix): {uc.ItemOf("!").Count}"); Console.WriteLine($"Operands in '>' operator (infix): {uc.ItemOf(">").Count}");