Content unavailable Click here to try again. If you've seen this page more than once, try switching accounts.
カリー化ってなんじゃらほい インド人もびっくりなカレーとかそういうのじゃなくて? そもそも カリー化を知ったのはOnline Study TokyoBouldering.jsっていうオンライン勉強会。自分は蝶本持ってないんだけど買わなきゃなぁ。 んで カリー化ってのはf(x, y)であるときg(x)(y)ならgはfのカリー化なんだ……ってよくわからん。 要はfをカリー化するとgになるよーってわけで、変化の話なら並べて書けば分かりやすいはず。 f(x, y) g(x)(y) なるほど、引数がなんか大変なことになってるな! 書いてみよう なんか分かった気がするので書いてみよう。とりあえずxとyをかけ合わせる感じの関数を、っと。 function g(x, y) { return x * y; } んでこれをカリー化、と。 function f(x){ return function(y) {
一昔前に流行ったネタでいろんな人がコードを書いていたと思うんだけど,3引数以上の関数をきちんとcurry化できる例 (「「「「関数を返す関数」を返す関数」を返す関数」…」に変換する) を見つけられなかったので,自分で書いてみた。 function curry(fun) { function c(len, arg) { if (len == 0) return fun.apply(null, arg); return function(x) { return c(len-1, arg.concat(x)); }; } return c(fun.length, []); } curry(function(x, y, z, w){ return x + y + z + w; })('a')('b')('c')('d'); // => 'abcd' 1度に2つ以上の引数を与えられるようにするなら以
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く