Practical: Introspecting variables and functions.

ID: 284

				
					using uCalcSoftware;

var uc = new uCalc();
// Define a variable and a function
uc.DefineVariable("myVar As Int16 = 55");
uc.DefineFunction("myFunc(x) = x * 10.5"); // Implicitly returns Double

// Inspect their types dynamically
var typeVar = uc.DataTypeOf("myVar");
var typeFunc = uc.DataTypeOf("myFunc");

Console.WriteLine($"Variable Type: {typeVar.Name}");
Console.WriteLine($"Function Return: {typeFunc.Name}");

// Check specific properties
if (typeVar.BuiltInTypeEnum == BuiltInType.Integer_16) {
   Console.WriteLine("Variable is strictly a 16-bit integer.");
}
				
			
Variable Type: int16
Function Return: double
Variable is strictly a 16-bit integer.
				
					#include <iostream>
#include "uCalc.h"

using namespace std;
using namespace uCalcSoftware;

#define tf(IsTrue) ((IsTrue) ? "True" : "False")

int main() {
   uCalc uc;
   // Define a variable and a function
   uc.DefineVariable("myVar As Int16 = 55");
   uc.DefineFunction("myFunc(x) = x * 10.5"); // Implicitly returns Double

   // Inspect their types dynamically
   auto typeVar = uc.DataTypeOf("myVar");
   auto typeFunc = uc.DataTypeOf("myFunc");

   cout << "Variable Type: " << typeVar.Name() << endl;
   cout << "Function Return: " << typeFunc.Name() << endl;

   // Check specific properties
   if (tf(typeVar.BuiltInTypeEnum() == BuiltInType::Integer_16)) {
      cout << "Variable is strictly a 16-bit integer." << endl;
   }
}
				
			
Variable Type: int16
Function Return: double
Variable is strictly a 16-bit integer.
				
					Imports System
Imports uCalcSoftware
Public Module Program
   Public Sub Main()
      Dim uc As New uCalc()
      '// Define a variable and a function
      uc.DefineVariable("myVar As Int16 = 55")
      uc.DefineFunction("myFunc(x) = x * 10.5") '// Implicitly returns Double
      
      '// Inspect their types dynamically
      Dim typeVar = uc.DataTypeOf("myVar")
      Dim typeFunc = uc.DataTypeOf("myFunc")
      
      Console.WriteLine($"Variable Type: {typeVar.Name}")
      Console.WriteLine($"Function Return: {typeFunc.Name}")
      
      '// Check specific properties
      If typeVar.BuiltInTypeEnum = BuiltInType.Integer_16 Then
         Console.WriteLine("Variable is strictly a 16-bit integer.")
      End If
   End Sub
End Module
				
			
Variable Type: int16
Function Return: double
Variable is strictly a 16-bit integer.