Добрый день, есть следующая задача в Unty проекте, человек вводит математическое выражение в Input Field(TextMeshPro), пускай к примеру "5+2", после чего по нажатия кнопки выражение записывается в string переменную:
string func = Field_Function.GetComponent<TextMeshProUGUI>().text;
А затем значение переменной func используется следующим образом:
ExpressionEvaluator.Evaluate(func, out int res);
Debug.Log(res);
>>> 0
Но возвращаемое значение равно 0, что говорит о том что при подсчете возникла какая-то ошибка.
"If the expression can not be evaluated, the function returns false and the result value is set to zero."
(
https://docs.unity3d.com/ScriptReference/Expressio...)
Но при этом, если я ввожу "5+2" в Evaluate непосредственно в редакторе кода, все работает правильно.
ExpressionEvaluator.Evaluate("5+2", out int res);
Debug.Log(res);
>>> 7
И еще добавлю что если я пытаюсь проверить и вывести переменную func в консоль, она выводится тоже корректно:
string func = Field_Function.GetComponent<TextMeshProUGUI>().text;
Debug.Log(func);
>>> 5+2
Буду благодарен, если кто-то розьяснит в чем тут дело.