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

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

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

参照用 記事

groovyとラムダ式(2):小手調べ

Id ≡ λx.x をgroovyコードで書いてみる。


// まずは、identity
Id = {|x| x}
println Id(3)
println Id("Hello")


3
Hello

関数(クロージャ)を取り扱う関数(高階関数)の例として、“関数結合(合成)をする関数”を書いてみる。
Comp ≡ λf,g.(λx.g(fx)):


// 結合(合成)
Comp = {|f, g| {|x| g(f(x))}}
F = {|x| x + 1}
G = {|x| 2 * x}
println Comp(F, G) // 値はクロージャ
println Comp(F, G)(2) // 2 * (2 + 1) = 6


lambda$_run_closure7_closure15@2892ca2e
6

(続く、けど午後だね)