Currying
カリー化は複数引数の関数を単一引数の関数の連なりへと変換する(f(a,b,c) → f(a)(b)(c))。部分適用や関数の合成を可能にする。
目的
引数を再利用し、関数を合成することで部分適用済みの関数を作り、柔軟性を高める。
メカニズム
f(a,b,c) は a → (b → (c → 結果)) の形になる。部分適用では一部の引数を固定すると新しい関数が得られる。Lodash の curry や Ramda は自動カリー化を行う。関数の合成と組み合わせてパイプラインを構築できる。
ユースケース
- 関数型プログラミング
- 引数リユース
- 関数のコンポジション