JRubyとBSFのメモ

via http://cappuccino.jp/keisuken/logbook/20060717.html

 

 

O [Java][Ruby] JRubyでBSFで登録したBeanを得るには
puts $bsf.lookupBean("bean1")

で可能なようです.統一されてていいですねぇ.

それより,みなさん反応がないみたいなんですけど,そろそろ勉強が必要ですよ?

O [Java][Ruby] BSFでJRubyのインスタンスをJavaから使うには
class Foo
  def boo
    puts "Hello, world"
  end
end
 
Foo.new

てなソースを作って,BSFEngine#evalすれば,Fooのインスタンスを取得できます.

String lang = "ruby";
String script = "class Foo ... end Foo.new";
BSFManager manager = new BSFManager();
BSFEngine engine = manager.loadScriptingEngine(lang);
Object foo = engine.eval("", 0, 0, script);

でJavaから実行は,

Object result = engine.call(foo, "boo", new Object[] {});

です.

0 コメント: