タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

JavaScriptとfunctionとcurryに関するk_37toのブックマーク (3)

  • JavaScriptでポイントフリースタイル - guccyonikki

    積ん読してあった「ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門」を読んだんだけど、 その中にポイントフリースタイルというのが書いてあったので、 同じような事がJavaScriptでもできないか試してみる。 書によると、ポイントフリースタイルっていうのは関数で関数を 定義しながらプログラミングをするコーディングスタイルの事だそうだ。 要は関数合成や引数の部分適用などにより高階関数を返すような関数を定義し、 それを呼び合いながらプログラムを書こうってこと。 JavaScriptは高階関数を扱えるので近い事はできそうだ。 引数の部分適用 まずは関数が引数の部分適用をできるようにする。つまりカリー化。 よくある、curry関数に関数と引数を渡す事で部分適用された関数を返すという方法だと 再度、部分適用する時に何度もcurry関数を呼び出す必要がある。 こんな風に

  • JavaScript でカリー化、再び: Days on the Moon

    以前、「JavaScript で引数束縛」において関数のカリー化を試みました。しかし、そこでカリー化された関数は、そのままでは一度しか部分適用ができず、また、最初の関数呼び出しは必ず部分適用として扱われていました。 function mean3(a, b, c) { return (a + b + c) / 3; } // 「JavaScript で引数束縛」における curry 関数。 var curriedMean3 = curry(mean3); curriedMean3(1)(2, 3); // => 2 curriedMean3(1)(2)(3); // => TypeError: curriedMean3(1)(2) is not a function // そのままでは部分適用を 2 回以上行えない。 // curry(curriedMean3(1))(2)(3) なら大丈夫

  • John Resig - Partial Application in JavaScript

    Partially applying a function is a, particularly, interesting technique in which you can pre-fill-in arguments to a function before it is ever executed. In effect, partially applying a function returns a new function which you can call. This is best understood through an example: String.prototype.csv = String.prototype.split.partial(/,\s*/); var results = "John, Resig, Boston".csv(); alert( (resul

  • 1