我正在尝试在 java 应用程序中使用 Beanshell 来执行用户提供的“addon”文件。由于插件的“主”代码是在重复循环中调用的,因此某些插件需要使用在此代码范围之外初始化的全局变量,以便跟踪需要多个循环周期的事物。我试图通过将 beanshell 解释器设置为来做到这一点
interpreter.eval("float xPositions;");
while(condition) {
interpreter.eval("xpositions++;");
}
问题是,当 beanshell 获取第二个 eval 时,它忘记了该变量存在。有没有办法阻止它这样做?
最佳答案
这是要走的路:interpreter.set("myVarName", myValue);
顺便说一句:beanshell 有一个错误修复版本,称为 beanshell2,位于 http://code.google.com/p/beanshell2可用。
关于java - 防止 Beanshell 中的变量消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3421460/