DT戦記: 2011-09-10 カリー化ってなぁに? をRubyから。では、カリー化とは何かといふことを、かなり廻りくどいやりかたで説明しました。廻りくどいだけで、これ自体は別に悪いアプローチではないのですが。 この記事でも前回の記事と同じく、Rubyのラムダ式、つまり->(arg){ ... } や lambda{ |arg| ... } で生成した Proc(lambda)クラスのオブジェクトを「函数」と呼ぶことにします。 前回のコードをひとつ引用してみます。 f1 = ->(x, y){ return x + y } f2 = ->(x){ return ->(y){ return x + y } } このカリー化されたコードの問題は、「値をふたつとって、足した値を返したい」って明確な目的があるのに、f2ではxとyを分けて書かざるを得ず、ばらばらになってコードが読みにくくなることが