0

我正在尝试在 java 应用程序中使用 Beanshell 来执行用户提供的“插件”文件。由于插件的“主”代码在重复循环中被调用,一些插件需要使用在此代码范围之外初始化的全局变量,以便跟踪需要多个循环周期的事情。我正在尝试通过将 beanshell 解释器设置为

interpreter.eval("float xPositions;");

while(condition) {

interpreter.eval("xpositions++;");

}

问题是,当 beanshell 获得第二个 eval 时,它忘记了该变量的存在。有没有办法阻止它这样做?

4

1 回答 1

1

这是要走的路:interpreter.set("myVarName", myValue);

顺便说一句:有一个 beanshell 的错误修复版本,在http://code.google.com/p/beanshell2上称为 beanshell2 。

于 2011-04-08T08:23:54.830 回答