相変わらず,Yコンビネータについては理解できていないのですが,昨日に引き続き,Rubyの学習もかねて,Schemeで書かれたYコンビネータをRubyで書くことに挑戦しました。 http://d.hatena.ne.jp/kazu-yamamoto/20080402/1207127522 でYコンビネータは,以下のように紹介されています。 (lambda (le) ((lambda (f) (f f)) (lambda (g) (le (lambda (x) ((g g) x)))))) 昨日は,たくさん出てくるlambdaをRubyでどう書けば良いのか分からなかったのですが,今日はなんとかYコンビネータをRubyで書くことができました。 y = lambda { |le| lambda { |f| f.call(f) }.call( lambda { |g| le.call(lambda