using uCalcSoftware; var uc = new uCalc(); // Set up two different uCalc contexts with the same variable name 'x'. uCalc.DefaultInstance.DefineVariable("x = 1.2"); uc.DefineVariable("x = 10"); Console.WriteLine("--- Testing Expression Contexts ---"); // 1. Expression created in the *default* context uses x = 1.2 using (var exprDefault = new uCalc.Expression("x + 5")) { Console.WriteLine($"Default context (x=1.2): {exprDefault.Evaluate()}"); // 2. Expression created in a *specific* context ('uc') uses x = 10 using (var exprSpecific = new uCalc.Expression(uc, "x + 5")) { Console.WriteLine($"Specific context (x=10): {exprSpecific.Evaluate()}"); // 3. Create empty, then parse later (uses default context for the Parse call) using (var exprEmpty = new uCalc.Expression()) { exprEmpty.Parse("x * 10"); Console.WriteLine($"Empty then parsed (x=1.2):{exprEmpty.Evaluate()}"); } } }