このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

groovyとラムダ式(1):説明

groovyでは、{|<仮引数リスト>| <定義コード>} という構文で、無名の関数のようなものを定義できます。これをクロージャと呼んでいるみたい*1


// 関数とクロージャ

def sumFunction(x, y) { x + y } // 関数定義
println sumFunction(2, 3)

sumClosure = {|x, y| x + y } // クロージャを変数に代入
println sumClosure(2, 3)

println ({|x, y| x + y }(2, 3)) // クロージャに直接引数を渡す


5
5
5

「無名の関数のようなもの」を形式的(理論的)に表したものがラムダ式で、だいたいの感じは:


クロージャ {|<仮引数リスト>| <定義コード>}


ラムダ式 λ<仮引数リスト>.<定義コード>

(続く)

*1:groovy-1.0-beta-9でのハナシ。最近、構文が変わったようです。