欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java 程序中直接执行 Ruby 脚本 (JRuby),rubyjruby,TempConverte

来源: javaer 分享于  点击 3671 次 点评:171

Java 程序中直接执行 Ruby 脚本 (JRuby),rubyjruby,TempConverte


TempConverter.rb

class TempConverter

def c2f(degrees)

degrees*9.0/5.0+32

end

def f2c(degrees)

(degrees-32)*5.0/9.0

end

end

def getTempConverter

TempConverter.new

end

import java.io.BufferedReader;import java.io.FileReader;import javax.script.Invocable;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;public class MainClass {  public static void main(String[] args) throws Exception {    ScriptEngineManager manager = new ScriptEngineManager();    ScriptEngine engine = manager.getEngineByName("jruby");    engine.eval(new BufferedReader(new FileReader("r.rb")));    Invocable invocable = (Invocable) engine;    Object tempconverter = invocable.invokeFunction("getTempConverter");    double degreesCelsius = (Double) invocable.invokeMethod(tempconverter, "f2c", 98.6);    System.out.println(degreesCelsius);    double degreesFahrenheit = (Double) invocable.invokeMethod(tempconverter, "c2f",100.0);    System.out.println(degreesFahrenheit);  }}//该片段来自于http://byrx.net
相关栏目:

用户点评