using uCalcSoftware; var uc = new uCalc(); static void OutputAnswerCB(uCalc.Callback cb) { cb.ReturnStr("Answer: " + cb.ArgStr(1)); } static void OutputSymbolCB(uCalc.Callback cb) { cb.ReturnStr("==> " + cb.ArgStr(1)); } static void OutputBoolCB(uCalc.Callback cb) { if (cb.ArgStr(1) == "false") { cb.ReturnStr("No"); } else if (cb.ArgStr(1) == "true") { cb.ReturnStr("Yes"); } } // This format inserts "Answer: " in front of every result var OutputAnswer = uc.Format( OutputAnswerCB); Console.WriteLine(uc.EvalStr("10+20")); Console.WriteLine(uc.EvalStr("'Hello '+'world'")); Console.WriteLine(uc.EvalStr("5 > 10")); Console.WriteLine("---"); // This one inserts ==> in front of the result // The previously defined "Answer: " output is still prepended as well var OutputSymbol = uc.Format( OutputSymbolCB); Console.WriteLine(uc.EvalStr("10+20")); Console.WriteLine(uc.EvalStr("'Hello '+'world'")); Console.WriteLine(uc.EvalStr("5 > 10")); Console.WriteLine("---"); // Causes Boolean values to return Yes or No (instead of true or false) var OutputBool = uc.Format( OutputBoolCB, "Bool"); Console.WriteLine(uc.EvalStr("10+20")); Console.WriteLine(uc.EvalStr("'Hello '+'world'")); Console.WriteLine(uc.EvalStr("5 > 10")); Console.WriteLine(uc.EvalStr("5 < 10")); Console.WriteLine("---"); // The previously defined "==>" output is removed OutputSymbol.Release(); Console.WriteLine(uc.EvalStr("10+20")); Console.WriteLine(uc.EvalStr("'Hello '+'world'")); Console.WriteLine(uc.EvalStr("5 > 10")); Console.WriteLine(uc.EvalStr("5 < 10"));