我的 Ruby 脚本:
def start
print "Global variable: #{$globalVariable}"
end
执行它的Java代码:
jruby = new ScriptEngineManager().getEngineByName("jruby"); // Create engine
jruby.eval(myRubyScriptContents); // Evaluate my ruby script
jruby.put("$globalVariable", this); // Give it a global variable
Invocable invocable = (Invocable) jruby;
invocable.invokeFunction("start"); // Call the start method to print my variable
输出是这样的:
全局变量:
为什么我的变量是空的?