はじめに
関数型プログラミングにおいて、カリングは、複数の引数を取る関数を、それぞれが 1 つの引数を取る関数のシーケンスに変換する技術です。Python では、functools.partial()関数を使ってカリングを実装することができます。
カリング関数
与えられた関数fnをカリングする関数curry(fn, *args)を書きます。この関数は、与えられた引数argsが部分的に適用された状態でfnと同じように振る舞う新しい関数を返す必要があります。
from functools import partial
def curry(fn, *args):
return partial(fn, *args)
add = lambda x, y: x + y
add10 = curry(add, 10)
add10(20) ## 30
まとめ
このチャレンジでは、Python においてfunctools.partial()を使ってカリング関数を実装する方法を学びました。カリング関数を使うと、引数を関数に部分的に適用し、残りの引数を受け取る新しい関数を返すことができます。