Java ScriptEngine 共享全局范围

发布于 2024-11-08 07:18:09 字数 414 浏览 0 评论 0原文

我开始使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文