JavaからRuby実行がより簡単に!JRuby1.4.0RC1にJRuby Embedがバンドル

10月2日にJRuby1.4.0RC1がリリースされたようですが、InfoQの記事によると、それに原田洋子さんが開発したJRuby Embed(コードネーム?Red Bridge)がバンドルされたとのことです。
JRuby Embedは、Java6のScripting APIをよりJRubyで使いやすくしたもののようで、本当に簡単にJavaからRuby Scriptが呼べるみたいです。

ということで、実験してみました。

まずはJRuby1.4.0RC1をダウンロード。

$ wget http://dist.codehaus.org/jruby/1.4.0RC1/jruby-complete-1.4.0RC1.jar

これにパスを通して、以下のコードを実行してみます。

import org.jruby.embed.ScriptingContainer;

public class JRuby14Test {
    public static void main(String[] args) {
        ScriptingContainer container = new ScriptingContainer();
        container.runScriptlet("puts 'Hello, World!'");
    }
}

実行結果。

$ java -cp jruby-complete-1.4.0RC1.jar:. JRuby14Test
Hello, World!

おー、すごく簡単になりましたね。
ここのサンプルを見ると、JSR223やBSFに比べて、どのくらい簡単になったかがわかります。

今やっている未踏プロジェクトでも、JavaからのRuby呼び出しは肝ですので、Java Scripting APIからこれを使ったものに置き換えようと思っています。

原田さんはServlet Gardenの中の人ですね。昔、Servletを勉強するときにお世話になった覚えがあります。またもや、ありがとうございます。