JavaScriptでカリー化
これ何が便利なのかわからん。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
/* カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、 引数が「もとの関数の最初の引数」で戻り値が 「もとの関数の残りの引数を取り結果を返す関数」 であるような関数にすること(あるいはその関数のこと)である。 */ main(); function p(a){ console.log(a); } function main(){ var ret = sub(3, 5); p(ret); var ret = currySub(3)(5); p(ret); } function sub(a, b){ return a - b; } function currySub(a){ return function(b){ return sub(a, b); }; } |
1 2 |
-2 -2 |