JavaからJRubyを呼び出して利用する。

簡単にJavaアプリからJRubyを呼び出して実行してみる。

jruby.jarを設定するのを忘れずに、以下のソースコードでRubyプログラムを呼び出して実行することができます。

  1. package com.taktod.rubytest;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import org.jruby.Ruby;
  6. import org.jruby.RubyRuntimeAdapter;
  7. import org.jruby.javasupport.JavaEmbedUtils;
  8.  
  9. /**
  10.  * アプリケーション作成
  11.  * @author taktod
  12.  * @version 2010/12/26
  13.  */
  14. public class App {
  15. /**
  16. * メインエントリー
  17. * @param arg
  18. */
  19. public static void main(String[] arg) {
  20. new App();
  21. }
  22. /**
  23. * コンストラクター
  24. */
  25. public App() {
  26. Ruby ruby = JavaEmbedUtils.initialize(new ArrayList<String>());
  27. RubyRuntimeAdapter evaler = JavaEmbedUtils.newRuntimeAdapter();
  28.  
  29. String script = "puts('aiueo')";
  30. evaler.eval(ruby, script);
  31. }
  32. }
  33.  

コード解説

ルビーオブジェクトを作成します。(この処理が非常におそいので、サーバーアプリとして利用する場合はこの部分だけ、先にすませておいた方がよさそうです。)
Ruby ruby = JavaEmbedUtils.initialize(new ArrayList<String>());

実行するためのアダプターを作成
RubyRuntimeAdapter evaler = JavaEmbedUtils.newRuntimeAdapter();

今回実行するルビースクリプト
String script = "puts('aiueo')";

スクリプトを実行します。
evaler.eval(ruby, script);

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年12月26日 19:48
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。