A practical, generic `Print` function that can accept any number of arguments of any type and display them in a formatted string.

ID: 1237

				
					using uCalcSoftware;

var uc = new uCalc();

static void PrintGeneric(uCalc.Callback cb) {
   string output = "";
   var i = 0;
   for ( i = 1; i <= cb.ArgCount(); i++) {
      // Get the item and retrieve its value as a string.
      var item = cb.ArgItem(i);
      output = output + item.ValueStr();
      if (i < cb.ArgCount()) {
         output = output + ", ";
      }
   }
   Console.WriteLine(output);
}

// Define a variadic function that accepts any number of arguments ByHandle.
uc.DefineFunction("Print(ByHandle args As AnyType...)", PrintGeneric);

uc.Eval("Print('User:', 'Alice', 'ID:', 101, 'Status:', true)");
				
			
User:, Alice, ID:, 101, Status:, true
				
					#include <iostream>
#include "uCalc.h"

using namespace std;
using namespace uCalcSoftware;

void ucalc_call PrintGeneric(uCalcBase::Callback cb) {
   string output = "";
   auto i = 0;
   for ( i = 1; i <= cb.ArgCount(); i++) {
      // Get the item and retrieve its value as a string.
      auto item = cb.ArgItem(i);
      output = output + item.ValueStr();
      if (i < cb.ArgCount()) {
         output = output + ", ";
      }
   }
   cout << output << endl;
}
int main() {
   uCalc uc;
   // Define a variadic function that accepts any number of arguments ByHandle.
   uc.DefineFunction("Print(ByHandle args As AnyType...)", PrintGeneric);

   uc.Eval("Print('User:', 'Alice', 'ID:', 101, 'Status:', true)");
}
				
			
User:, Alice, ID:, 101, Status:, true
				
					Imports System
Imports uCalcSoftware
Public Module Program
   
   Public Sub PrintGeneric(ByVal cb As uCalc.Callback)
      Dim output As String = ""
      Dim i = 0
      For i  = 1 To cb.ArgCount()
         '// Get the item and retrieve its value as a string.
         Dim item = cb.ArgItem(i)
         output = output + item.ValueStr()
         If i < cb.ArgCount() Then
            output = output + ", "
         End If
      Next
      Console.WriteLine(output)
   End Sub
   Public Sub Main()
      Dim uc As New uCalc()
      '// Define a variadic function that accepts any number of arguments ByHandle.
      uc.DefineFunction("Print(ByHandle args As AnyType...)", AddressOf PrintGeneric)
      
      uc.Eval("Print('User:', 'Alice', 'ID:', 101, 'Status:', true)")
   End Sub
End Module
				
			
User:, Alice, ID:, 101, Status:, true