Я занят алгоритмом маневрового двора. Если у вас есть выражение вроде:
x + y + sqrt 25 - 3
класс не знает, каким будет имя и значение переменных. Итак, у меня есть функция в классе, instantianteVariable (имя символа, значение int), с вызовами:
expr.instantiateVariable('x',5);//Set x = 5
expr.instantiateVariable('y',3);//Set y = 3
Как я могу заменить неизвестные переменные в выражении теперь известными переменными?
x и y могут быть любыми символами, поэтому я не могу создавать членов класса с именами x и y.
Я считаю, что вы можете создать карту или словарь для каждой необходимой переменной. В процессе оценки выражения вы используете карту для поиска необходимых «токенов».