当前位置:  开发笔记 > 后端 > 正文

从Java访问JRuby脚本顶级环境中的变量

如何解决《从Java访问JRuby脚本顶级环境中的变量》经验,为你挑选了0个好方法。

jruby 1.7.23(1.9.3p551)2015-11-24 f496dd5关于Java HotSpot(TM)64位服务器VM 1.7.0_79-b15 + jit [Windows 7-amd64]

我在我的脚本容器中运行一个scriptlet,如下所示:

(RubyObject) ro = (RubyObject)container.runScriptlet(org.jruby.embed.PathType.RELATIVE,"example.rb");

其中container是ScriptingContainer类型."局部变量行为"设置为"瞬态".

文件example.rb包含以下行:

foo='xxx'
$bar='yyy'
'zzz'

我可以从Java端检索值'zzz',因为它是从runScriptlet显式返回的.我还可以使用检索$ bar的值

container.get("$bar")

有没有办法检索foo的值?container.get("foo")返回空指针.

我还尝试将局部变量行为更改为"持久",但结果仍然相同.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有