は一部機能をアプリ"決のJavascript?
-
01-07-2019 - |
質問
友人といった、議論に関するcurrying一部機能の応用にJavascript、まったく異なる結論かどうかのどちらかが可能であると考えている。またこの実施 Function.prototype.curry
, の根拠となったの討論:
Function.prototype.curry = function() {
if (!arguments.length) return this;
var args = Array.prototype.slice.apply(arguments);
var mmm_curry = this, args;
return function() {
var inner_args = Array.prototype.slice.apply(arguments);
return mmm_curry.apply(this, args.concat(inner_args));
}
}
がこんなところに使用されています:
var vindaloo = function(a, b) {
return (a + b);
}
var karahi = vindaloo.curry(1);
var masala = karahi(2);
var gulai = karahi(3);
print(masala);
print(other);
出力について、以下のとおりSpidermonkey:
$ js curry.js
3
4
彼の意見ることがJavascript function
プリミティブなネイティブサポート"の一部機能をアプリ"では、間違ってはいなかったのを参照する機能の変動 karahi
として部分的に適用されます。彼の引数になったの vindaloo
機能は、画廊の機能自体が完全に適用されて、閉鎖が返され、"部分的に適用する必要があります。
今、私の意見では、Javascript自体をサポートは行なっておりません部分用の" function
プリミティブので、MLやウ)ではないからだを高次機能言語のできる封止コンセプトに部分的に適用します。ももかかわらず、"応用"の範囲の機能はまだ行きに返されるので原因では"一部応用".
る適切なものはどれですか。
解決
技術的にはまだブランド構築の新たな機能通話の機能です。なので私の理解の一部の適用機能が正しいことではない部分的に適用します。部分的な機能応用するに近いこのことに注意していない一般的な溶液):
vindaloo.curry = function(a) {
return function(b) {
return a + b;
};
};
IIUCは、今なおこない、部分的に適用します。でした。真の一部の適用機能が実際に見てこのような場合について検証することができるコード:
function karahi(b) {
return 1 + b;
};
なので、技術的には、オリジナルの方法 は で還元機能を限内にあります。みんな真の一部の適用の機能でJavaScriptする構文解析の機能はその変更を実行することにより、eval().
しかし、ソリューションが実用化の概念をJavaScriptので、具体的には達成を目標にもない場合は技術的に解決します。
他のヒント
と思うので完全にOK話の一部機能の応用 JavaScriptの場合、この作品のような部分的なアプリケーションで きます。どのようにとらわれないままの名称です。
どのよう カレー 機能の達成をつくりたいという目標があるかに実施 ます。同様にて一部のECMAScriptスペック がIEを実施でいたりしているのと同じようにしたい ようにしてください。
の技術の詳細な物質が、意味は同じであり、すべての意図や目的に機能している場合でも、部分的に機能応用者が強く出てると思います。
ツールを使って学術うでは心配な事項だけを実現します。
個人としての利用 MochiKit;それは素晴らしい一部機能を支援するのです。私が大好きです。
すべ 画廊JavaScript機能.まだ完全に包まれた私たカレーがかっています。
編集:すること評価した。
彼の意見ることがJavascript機能をプリミティブなネイティブサポート"の一部機能をアプリ"
いcurryingにES6か優雅:
> const add = a => b => a + b
> const add10 = add(10)
> [1,2,3].map(add10)
[ 11, 12, 13 ]