JRuby の使い方

 [Home]

サブページ:

 

導入編

Windowsの場合

インストーラをダウンロードしてインストールするだけでよいのですが、「javaが見つからな い」というエラーが出ました。これは、環境変数 JAVA_HOME が設定されてないとき起こるようで す。

ところが、ちゃんと設定してもまだエラーが出てしまう場合がありました。これは、JDKが "C:\Program Files" の下にインストールしてあるとき起こるようです (パスにスペースが含まれている場合)。次のように、短いファイル名 (というか、この場合はディレクトリ名) を使うと解消し ました。

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20 でダメなら JAVA_HOME=C:\PROGRA~1\Java\jdk1.6.0_20

Linuxの場合

apt-get install (Ubuntu等へインストールの時) を使ってインストールできますが、パッケージが用意されていないときは、バイナリーファイルをダウンロードしてtarで展開してから適当な ディレクトリへ 移動して、パスを通してやるだけで一応動きました。

gemとかを使う場合は、手動で設定が必要だと思いますが、とりあえず使う程度ならこれでも十分でしょう。


Androidの場合

まず、SL4A (Scripting Layer for Android) をインストールします。

SL4Aを起動して、メニュー View / Interpeters / Add からJRuby を選択して JRruby をダウンロードします。

ダウンロードが終わったら、ダウロードフォルダを開いて JRuby パッケージをタップしてインストールします。さらに、ランチャーでJRubyアイコンをタップしてJRubyを開いてInstallボタンをクリックします。

必要な追加パッケージがダウンロードされ、インストールされます。これでやっと使えるようになります。SL4Aを開いてScriptsにJRubyのサンプルが表示されればOKです。

サンプルですが私の環境では、Android 2.2ではエラーが出てちゃんと実行されませんでした。Android 4.0 (エミュレータ) ではちゃんと実行されました。ただ、どちらの場合も、実行開始までかなりの時間がかかります。


Rubyとの非互換

文字列の要素(文字)を[]で取り出した場合、Rubyでは文字列として比較できますが、JRubyでは整数として比較しなければなりません。

(例)

str = "ABCD"
c = str[0]
if c == 0x41 then
 # ..
end

Rubyではif c == 'A' と書いても動作するが、JRubyではエラーになる。

サブページ:

 

 

 開設 2014年12月   著作権 2014-2015 bonk.red  連絡先: こちらからメッセージを送ってください。 (お仕事も大募集)

 このページの先頭へ..