再帰的な関数を無名で扱うためのアルゴリズム。
rubyの例:
Y= proc{|g|
proc{|f|
g[f[f]]
}[
proc{|f|
g[proc{|y| f[f][y]}]
}
]
}
fact = proc {|f| proc{|n| n==0 ? 1: n * f[n-1]}}
p Y[fact][5] #=> 120
タグリスト
プログラミング関連書籍
レンタルサーバ
おすすめサイト
再帰的な関数を無名で扱うためのアルゴリズム。
rubyの例:
Y= proc{|g|
proc{|f|
g[f[f]]
}[
proc{|f|
g[proc{|y| f[f][y]}]
}
]
}
fact = proc {|f| proc{|n| n==0 ? 1: n * f[n-1]}}
p Y[fact][5] #=> 120
Copyright 2008 - 2020 @ motivation.drivendevelopment.jp