Я пытаюсь использовать Beanshell в приложении Java для выполнения файлов «addon», предоставленных пользователем. Поскольку «основной» код аддона вызывается в повторяющемся цикле, некоторые аддоны должны использовать глобальные переменные, инициализированные вне области действия этого кода, чтобы отслеживать вещи, для которых требуется более одного цикла цикла. Я пытаюсь сделать это путем создания переводчика Beanshell вСохранение переменных от умирающих в Beanshell
interpreter.eval("float xPositions;");
while(condition) {
interpreter.eval("xpositions++;");
}
Проблема в том, к тому времени BeanShell получает вторую Eval, он забыл, что переменная существует. Есть ли способ остановить это?