hottyです。 今回はクロージャのカリー化のお話です。 クロージャとはなにか? クロージャについては今更説明することもあまりありませんが一応。 クロージャとは静的なスコープを持った関数であり Rubyだと手続きオブジェクトと呼ばれるものです。 ブロックをオブジェクト化したものとイメージすると良いかもしれません。 実際ブロックとクロージャは密接な関係にあります。 クロージャをブロックとして評価したり ブロック引数でブロックをクロージャとして受け取る事が可能です。 Rubyでクロージャを定義するにはlambda、proc、Proc.newなどの方法があります。 lambdaで作るクロージャはジャンプ構文や引数の取り扱いがproc、Proc.newとは異なるので注意が必要です。 さてクロージャの話はそこそこに今回の本題「カリー化について」です。 カリー化とはなにか? Wikiでカリー化は 複数