タグ付けされた質問 「partial-application」

14
カレーと部分塗布の違いは何ですか?
他の人々のカレーの例はカレーではないが、実際には部分的な適用にすぎないというさまざまな不満をインターネットでよく目にします。 私は部分的なアプリケーションが何であるか、またはそれがカレーとどのように異なるかについてのきちんとした説明を見つけませんでした。一般的な混乱があり、同等の例がカレー化されている場所と、部分的に適用されているところがあると説明されています。 誰かが私に両方の用語の定義とそれらの違いの詳細を教えてもらえますか?

6
Python:functools.partialが必要なのはなぜですか?
部分的なアプリケーションはクールです。functools.partialラムダを通過できない機能は何ですか? >>> sum = lambda x, y : x + y >>> sum(1, 2) 3 >>> incr = lambda y : sum(1, y) >>> incr(2) 3 >>> def sum2(x, y): return x + y >>> incr2 = functools.partial(sum2, 1) >>> incr2(4) 5 でfunctools、より効率的、あるいは読める何とか?

7
functoolsパーシャルはどのように機能しますか?
functoolsでパーシャルがどのように機能するかについて頭をつかむことができません。ここに次のコードがあります: >>> sum = lambda x, y : x + y >>> sum(1, 2) 3 >>> incr = lambda y : sum(1, y) >>> incr(2) 3 >>> def sum2(x, y): return x + y >>> incr2 = functools.partial(sum2, 1) >>> incr2(4) 5 今ラインで incr = lambda y : sum(1, y) …

15
JavaScriptカレー:実用的なアプリケーションは何ですか?
私はまだカレーを食べたことはないと思います。私はそれが何をするか、そしてどのようにそれを行うかを理解しています。自分が使う状況なんて考えられない。 JavaScriptでカレーをどこで使用していますか(またはそれを使用するメインライブラリはどこですか)?DOM操作または一般的なアプリケーション開発の例を歓迎します。 答えの1つはアニメーションについてです。のような関数はslideUp、fadeIn要素を引数として取り、通常、デフォルトの「アニメーション関数」が組み込まれた高次関数を返すカリー化された関数です。それはなぜいくつかのデフォルトで高次関数を適用するよりも優れているのですか? それを使用することに何か欠点はありますか? ここで要求されているように、JavaScriptカレーに関するいくつかの優れたリソースがあります。 http://www.dustindiaz.com/javascript-curry/ クロックフォード、ダグラス(2008)JavaScript:Good Parts http://www.svendtofte.com/code/curried_javascript/(MLに 迂回するため、「MLのクラッシュコース」のセクション全体をスキップして、「カリーJavaScriptの記述方法」からやり直してください) http://web.archive.org/web/20111217011630/http://blog.morrisjohns.com:80/javascript_closures_for_dummies JavaScriptクロージャーはどのように機能しますか? http://ejohn.org/blog/partial-functions-in-javascript(通常どおり、Mr。Resig on the money) http://benalman.com/news/2010/09/partial-application-in-javascript/ コメントに表示されるので、さらに追加します。 そのため、回答によれば、カレーや部分塗布は一般的に便利なテクニックです。 同じ構成で呼び出すことによって高レベル関数を頻繁に「洗練」している場合は、高レベル関数をカレー(またはResigのパーシャルを使用)して、単純で簡潔なヘルパーメソッドを作成できます。

3
カレーを利用するためのパラメータの順序付け
私は二回、最近のようなハックあまりにも多くのコードがあったので、パラメータの順序を変更するために、コードをリファクタリングしているflipかが\x -> foo bar x 42起こったが。 関数シグネチャを設計するとき、カレーを最大限に活用するのに役立つ原則は何ですか?


4
Scalaの複数のパラメーターリストとリストごとの複数のパラメーターの違いは何ですか?
Scalaでは、このような関数を書くことができます(カレー?) def curriedFunc(arg1: Int) (arg2: String) = { ... } curriedFunc2つのパラメーターリストを持つ上記の関数定義と、1つのパラメーターリストに複数のパラメーターを持つ関数の違いは何ですか。 def curriedFunc(arg1: Int, arg2: String) = { ... } 数学的な観点から、これはある(curriedFunc(x))(y)とcurriedFunc(x,y)私は書くことができますdef sum(x) (y) = x + yと同じになりますdef sum2(x, y) = x + y 私はただ1つの違いを知っています-これは部分的に適用された関数です。しかし、どちらの方法も私にとっては同等です。 他に違いはありますか?

3
関数型プログラミングの「部分関数」とは、正確にはどういう意味ですか?
私の理解によると、部分関数は、関数に渡すパラメーターが予想よりも少ないことで得られる関数です。たとえば、これがPythonで直接有効だった場合: >>> def add(x,y): ... return x+y ... >>> new_function = add(1) >>> new_function(2) 3 上記のスニペットでnew_functionは、部分的な関数です。ただし、Haskell Wikiによれば、部分関数の定義は 部分関数は、指定されたタイプのすべての可能な引数に対して定義されていない関数です。 だから、私の質問は、「部分的な機能」とは正確には何を意味するのですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.