クロージャとカリー化についての投稿をいくつか読んだのですが、答えが見つからなかったような気がします。では、クロージャとカリー化の違いと、おそらく類似点は何ですか?助けてくれてありがとう :)
1 に答える
6
カリー化は、何よりもまず数学的概念です。任意のn 項関数f: S 0 ×...S n → Rに対して、新しい関数fprime (マークダウンのバグが見つかったばかりです!) をn-1 個のパラメーターで定義して、最初のパラメーターを置き換えることができるというのは、単なる観察です。定数によって。したがって、 function がある場合、新しい関数を add(a,b)
次のように定義できます。add1(b)
add1(b) ::= add(1, b)
...「::=」を「と定義されている」と読みます。
クロージャーは、プログラミングの概念に近いものです。(もちろん、プログラミングもすべて数学的概念ですが、プログラミングのおかげでクロージャは興味深いものになりました。) クロージャを作成するときは、1 つまたは複数の変数をバインドします。いくつかの変数が関連付けられたコードのチャンクを作成しています。
この関係は、カリー化を実装するためにクロージャーを使用できるということですadd1
。最初のパラメーターが 1 にバインドされるクロージャーを作成することで、上記の関数を構築できます。
于 2008-12-17T16:05:11.330 に答える