Rubyではメソッドにブロックを渡すとクロージャ(Closure)を構築できます。 Enumerableクラスのdetectメソッドを例として見てみましょう。 ちなみにdetectはブロック内の条件式が初めて真となった際に配列の要素を返します。 array = (1..10).to_a p array.detect {|e| e >= 5} →5を返す。 ちなみにJavaにこのクロージャの機構はありません。Java7で導入が検討されていたようですが、残念ながら見送りになりました。 とはいえ現状のJavaでも無名クラスを使うことで「クロージャっぽいこと」はできるのです。 まずクロージャ用interfaceを用意します。detectを再現するために戻り値をbooleanにします。 public interface ConditionalClosure <T> { boolean execute