我正在尝试在 java 应用程序中使用 Beanshell 来执行用户提供的“插件”文件。由于插件的“主”代码在重复循环中被调用,一些插件需要使用在此代码范围之外初始化的全局变量,以便跟踪需要多个循环周期的事情。我正在尝试通过将 beanshell 解释器设置为
interpreter.eval("float xPositions;");
while(condition) {
interpreter.eval("xpositions++;");
}
问题是,当 beanshell 获得第二个 eval 时,它忘记了该变量的存在。有没有办法阻止它这样做?