我正在尝试在Java应用程序中使用Beanshell来执行用户提供的“addon”文件。由于插件的“主”代码是在重复循环中调用的,因此某些插件需要使用在此代码范围之外初始化的全局变量,以便跟踪需要多个循环周期的事物。我试图通过设置一个beanshell解释器
来做到这一点interpreter.eval("float xPositions;");
while(condition) {
interpreter.eval("xpositions++;");
}
问题是,当beanshell获得第二个eval时,它会忘记变量存在。有没有办法阻止它这样做?
答案 0 :(得分:1)
这是要走的路:interpreter.set(“myVarName”,myValue);
顺便说一句:有一个beanhell的bug修复版本,在http://code.google.com/p/beanshell2可用的名为beanshell2。