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を勉強するときにお世話になった覚えがあります。またもや、ありがとうございます。