A practical example simulating a small spreadsheet with interdependent cells.
ID: 1380
using uCalcSoftware;
var uc = new uCalc();
// Define interdependent 'cells' using the Overwrite command.
uc.Define("Overwrite ~~ Function: A1() = 10");
uc.Define("Overwrite ~~ Function: B1() = A1() * 2");
uc.Define("Overwrite ~~ Function: C1() = A1() + B1()");
Console.WriteLine($"Initial C1: {uc.Eval("C1()")}"); // Should be 10 + (10 * 2) = 30
// Now, overwrite the source cell A1. All dependent cells should automatically update.
uc.Define("Overwrite ~~ Function: A1() = 50");
Console.WriteLine($"Updated B1: {uc.Eval("B1()")}"); // Should now be 50 * 2 = 100
Console.WriteLine($"Updated C1: {uc.Eval("C1()")}"); // Should now be 50 + 100 = 150
Initial C1: 30
Updated B1: 100
Updated C1: 150 using uCalcSoftware; var uc = new uCalc(); // Define interdependent 'cells' using the Overwrite command. uc.Define("Overwrite ~~ Function: A1() = 10"); uc.Define("Overwrite ~~ Function: B1() = A1() * 2"); uc.Define("Overwrite ~~ Function: C1() = A1() + B1()"); Console.WriteLine($"Initial C1: {uc.Eval("C1()")}"); // Should be 10 + (10 * 2) = 30 // Now, overwrite the source cell A1. All dependent cells should automatically update. uc.Define("Overwrite ~~ Function: A1() = 50"); Console.WriteLine($"Updated B1: {uc.Eval("B1()")}"); // Should now be 50 * 2 = 100 Console.WriteLine($"Updated C1: {uc.Eval("C1()")}"); // Should now be 50 + 100 = 150
#include
#include "uCalc.h"
using namespace std;
using namespace uCalcSoftware;
int main() {
uCalc uc;
// Define interdependent 'cells' using the Overwrite command.
uc.Define("Overwrite ~~ Function: A1() = 10");
uc.Define("Overwrite ~~ Function: B1() = A1() * 2");
uc.Define("Overwrite ~~ Function: C1() = A1() + B1()");
cout << "Initial C1: " << uc.Eval("C1()") << endl; // Should be 10 + (10 * 2) = 30
// Now, overwrite the source cell A1. All dependent cells should automatically update.
uc.Define("Overwrite ~~ Function: A1() = 50");
cout << "Updated B1: " << uc.Eval("B1()") << endl; // Should now be 50 * 2 = 100
cout << "Updated C1: " << uc.Eval("C1()") << endl; // Should now be 50 + 100 = 150
}
Initial C1: 30
Updated B1: 100
Updated C1: 150 #include <iostream> #include "uCalc.h" using namespace std; using namespace uCalcSoftware; int main() { uCalc uc; // Define interdependent 'cells' using the Overwrite command. uc.Define("Overwrite ~~ Function: A1() = 10"); uc.Define("Overwrite ~~ Function: B1() = A1() * 2"); uc.Define("Overwrite ~~ Function: C1() = A1() + B1()"); cout << "Initial C1: " << uc.Eval("C1()") << endl; // Should be 10 + (10 * 2) = 30 // Now, overwrite the source cell A1. All dependent cells should automatically update. uc.Define("Overwrite ~~ Function: A1() = 50"); cout << "Updated B1: " << uc.Eval("B1()") << endl; // Should now be 50 * 2 = 100 cout << "Updated C1: " << uc.Eval("C1()") << endl; // Should now be 50 + 100 = 150 }
Imports System
Imports uCalcSoftware
Public Module Program
Public Sub Main()
Dim uc As New uCalc()
'// Define interdependent 'cells' using the Overwrite command.
uc.Define("Overwrite ~~ Function: A1() = 10")
uc.Define("Overwrite ~~ Function: B1() = A1() * 2")
uc.Define("Overwrite ~~ Function: C1() = A1() + B1()")
Console.WriteLine($"Initial C1: {uc.Eval("C1()")}") '// Should be 10 + (10 * 2) = 30
'// Now, overwrite the source cell A1. All dependent cells should automatically update.
uc.Define("Overwrite ~~ Function: A1() = 50")
Console.WriteLine($"Updated B1: {uc.Eval("B1()")}") '// Should now be 50 * 2 = 100
Console.WriteLine($"Updated C1: {uc.Eval("C1()")}") '// Should now be 50 + 100 = 150
End Sub
End Module
Initial C1: 30
Updated B1: 100
Updated C1: 150 Imports System Imports uCalcSoftware Public Module Program Public Sub Main() Dim uc As New uCalc() '// Define interdependent 'cells' using the Overwrite command. uc.Define("Overwrite ~~ Function: A1() = 10") uc.Define("Overwrite ~~ Function: B1() = A1() * 2") uc.Define("Overwrite ~~ Function: C1() = A1() + B1()") Console.WriteLine($"Initial C1: {uc.Eval("C1()")}") '// Should be 10 + (10 * 2) = 30 '// Now, overwrite the source cell A1. All dependent cells should automatically update. uc.Define("Overwrite ~~ Function: A1() = 50") Console.WriteLine($"Updated B1: {uc.Eval("B1()")}") '// Should now be 50 * 2 = 100 Console.WriteLine($"Updated C1: {uc.Eval("C1()")}") '// Should now be 50 + 100 = 150 End Sub End Module