JRubyから利用するJavaで実装したクラスのオブジェクトのメソッドからブロックを利用したいと思い立つ。 そもそもJavaで実装したクラスはJRubyからinclude_class 'java.util.Random'とかすれば簡単に利用することができるのだけれども、そのメソッドはブロックを受け取ることができないし、JRubyで定義したクラスのオブジェクトを柔軟に利用することができない。 少しソースを調べたところ、IRubyObjectを実装すれば良さそうな気がしてきたので、とりあえずHello Worldを試してみた。 目標はHelloWorldというクラスをJavaで実装し、以下のように利用できるようにすること。 require 'helloworld' hw = HelloWorld.new('Yuanying') hw.helloworld() # -> 'Hello World