まめ畑

ゆるゆると書いていきます

JRubyを入れてみた

最近、Rubyかわいいよと言いているのですが、もともとはJavaをやっているのでJavaRubyで書けるJRubyを入れてみたよ。
これから少し遊んでみる。

JRubyって?

JavaVM上でRubyのプログラムを動作させるものということでいいのかな?
JavaRuby
RubyJava
といった呼び出しが出来る。
JavaAPIが使える。


いろいろ調べていたら、JRubyコンパイラが初回読み出し時にコンパイルを試して、コンパイル出来なかったらJRubyインタプリタ上で実行して、成功したらバイトコードを生成してJavaVM上で実行する。JRubyインタプリタもJavaVM上で動作している。
ということらしい。
JITのようです。
プリコンパイルオプションも完備しているようです。


なんか、面白そう。

インストール

  • 以下のサイトからダウンロードして解凍

http://dist.codehaus.org/jruby/
今回は、Ver.1.0.3を使いました。
1.1.3だと、なぜかクラスがロードされないという事態になり、1.0.3にしたら素直に動きました・・・。
なんでだ?

  • 好きなところに移動

今回はc:\jruby-1.0.3に置きました。

  • PATH関係の設定

環境変数に以下を追加と作成

JRUBY_HOME C:\jruby-1.0.3
PATH %JRUBY_HOME%\bin;%JAVA_HOME%bin
JAVA_HOME jdkのパス


後は、コマンドプロンプト

>jruby -v
ruby 1.8.5 (2007-12-15 rev 5200) [x86-jruby1.0.3]

という感じで出力されればおk

さっそくやってみよう

JRubyにはjirbというirbと同じようなものが付いているので、これでやってみます。
入力したものだけ。

require 'java'
import 'java.lang.System'

System.out.println("Hello, World")

なんとこれで、Hello, Worldが出力されますね。

先ほどの内容を、hoge.rbに保存して
jruby hoge.rb
とすることでも実行可能です。


jruby -C hoge.rb
でプリコンパイルが出来るようです。

まとめ

かなり面白い!
なぜか、jrubycが付いていなかった(別に落とす必要あるのかな?classファイル作りたかったんだけど)
もっといじってみよう。
swingだって動く。

docsフォルダをあさってみよう。