gpt4 book ai didi

java - 如何在 Java 中执行 Ruby 文件?

转载 作者:行者123 更新时间:2023-12-02 05:01:53 25 4
gpt4 key购买 nike

我正在尝试使用 Java 运行 Ruby 代码。这段代码给了我一个空结果。(结果:空)任何人都可以帮我找出错误吗?

Java:

    public static void callRuby(){

ScriptEngine jruby = new ScriptEngineManager().getEngineByName("jruby");
//process a ruby file
try {
jruby.eval(new BufferedReader(new FileReader("rubyTest.rb")));
jruby.put("a", "2");
jruby.put("b", "3");
System.out.println("result: " +jruby.get("res"));

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ScriptException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

rubyTest.rb

def addition(a,b)
puts a
puts b
res = a + b
end

最佳答案

您的rubyTest.rb脚本定义了一个函数addition(a, b),但是您在哪里调用该函数呢?

这定义了解释器中的函数:

jruby.eval(new BufferedReader(new FileReader("rubyTest.rb")));

然后你分配顶级变量ab,然后你询问res的值,但我没有查看程序调用 addition(a,b) 函数的任何位置。

关于java - 如何在 Java 中执行 Ruby 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28195525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com