Java ScriptEngine 共享全局范围
我开始使用 ScriptEngine 编写 Jython 代码,并发现一种简洁的调试方法可能是运行 Jython 代码:
import code
code.interact(local=globals())
我想与 ScriptEngine 环境共享外部 Java 环境,因此例如我可以调用类中的其他对象方法或者如果我之前定义了变量(例如函数参数),我可以使用它们。我知道我可以使用 engine.put()
和 setBindings()
显式加载它们,但我希望这基本上是自动完成的。 Java 中是否有类似于 Python 的 globals()
(或 locals()
)函数可以为我提供当前代码的上下文?也许是一些内省的事情......
I've started using ScriptEngine to write Jython code, and figured a neat way to debug might be running the Jython code:
import code
code.interact(local=globals())
I want to share the outer Java environment with the ScriptEngine environment, so for example I could call other object methods in a class or if I had variables defined previously (such as function arguments) I could use them. I know I can explicitly load these with engine.put()
and setBindings()
but I'd like to have this done mostly automatically. Is there something similar to Python's globals()
(or locals()
) function in Java that would get me a Context of the current code? Maybe something with introspection...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论