カリー化
wikipedia: カリー化
カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること(あるいはその関数のこと)である
つまり、カリー化は一つ一つ引数を渡していくものを作ります。
下記のようにすると、一行目は、二つの引数を渡さなければならないが、2行目では、まず初めにx値(ここでは5)だけをわたして、curried_5y = lambda y: 5*y
という関数ができるわけです。
sample
curry.py
xy = lambda x, y: x*y
curried_xy = lambda x: lambda y: x*y