内容へ移動
Cat Paw Software
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
jruby
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== JRuby ====== JRubyは[[Java]]で書かれた[[Ruby]]インタプリタ。通常のRuby言語としての機能に加えて、Javaから呼び出したり、JavaライブラリをRubyスクリプトで利用できる。 * [[jruby/rails]] ===== gem ===== jrubyにはgemも付属しているが、パス設定によってはgemコマンドを呼ぶとMatzRubyのものが呼ばれてしまう。 $ jruby -S gem search hogehoge とするとjrubyのgemが呼ばれる。 もしくは jgem コマンドを使う。 $ jgem 最近は、rvmやpikなとのツールでruby環境を切り替えて使うのが常識 ===== Javaクラスを利用する ===== JavaのHashMapを呼び出す。ハッシュへの追加、取り出しもRuby風の記述が可能になっている。 <code ruby> include Java include_class "java.util.HashMap" h = HashMap.new h.put "a", "hoge" h.put "b", 4 h["c"] = "fuga" p h.get("a") p h["b"] p h.get("c") p h.get("d") </code> ===== 自作クラスを使ってみる ===== 自作クラスでも使い方は同じ。Javaクラスの設置場所は * カレントディレクトリ * CLASS_PATH環境変数で示されているクラスパスのどこか * JRuby HOMEのlib <code java> public class JRubyTest { private String hoge; public String getHoge() { return hoge; } public void setHoge(String hoge) { this.hoge = hoge; } public String toString() { return "jruby test" + this.hoge; } public void appendString(String str) { if (this.hoge == null) { setHoge(str); } else { this.hoge += str; } } } </code> Ruby側で呼び出す。いくつかのメソッド呼び出しがRuby風の記述になっている点に注意 * コンストラクタ * ゲッター * セッター * 複数単語からなるメソッド名(Java:大文字区切り、Ruby:アンダースコア区切り) * toStringメソッド <code ruby> include Java include_class "JRubyTest" j = JRubyTest.new j.hoge = "hoge?" p j.hoge j.append_string("fuga?") p j.to_s </code>
jruby.txt
· 最終更新: 2011/04/20 01:27 by
nullpon
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ