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]
Я запускаю скриптлет в контейнере для скриптов следующим образом:
(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")
возвращает нулевой указатель.
Я также попытался изменить поведение локальной переменной на "постоянный", но все тот же результат.