Practical: Introspecting variables and functions.
ID: 284
See: DataTypeOf(string)
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. 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."); }
#include
#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. #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; } }
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. 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