Imports System Imports uCalcSoftware Public Module Program Public Sub MyAverage(ByVal cb As uCalc.Callback) Dim Total As Double = 0 For x As Integer = 1 To cb.ArgCount() Total = Total + cb.Arg(x) Next cb.Return(Total / cb.ArgCount()) End Sub Public Sub Main() Dim uc As New uCalc() Dim MyArrayA = uc.DefineVariable("MyArrayA[] = {10, 20, 30, 40, 50}") Dim MyArrayB = uc.DefineVariable("MyArrayB[15]") Dim FunctionA = uc.DefineFunction("FuncA(x, y, z) = x + y + z") Dim FunctionB = uc.DefineFunction("FuncB(x, y, a = 12, b = 34) = x+y+a+b") Dim FunctionC = uc.DefineFunction("FuncC(x, y ...)", AddressOf MyAverage) Dim 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}") End Sub End Module