タグ

javascriptとcurryに関するtakaesuのブックマーク (3)

  • 食べられないほうのカリー化入門 - Qiita

    『カリー化』(Currying) という概念をご存知でしょうか。"Curry" はべ物のカレー(Curry)と同じスペルですが、ここでいう Curry はそれとは別のもので、多くのプログラミング言語に応用できるかもしれない、とても便利かもしれない概念です。 では教えてくれ。”カリー化”とはなんのことだ? 『ふたつの引数のうち、大きい方の数を返す』という機能を持った関数 max を実装したいとしましょう。そのようなとき、大抵は次のように定義すると思います。 この関数 _max も『大きい方の数を返す』という機能を持っていますが、_max は max とは呼び出し方が少し異なります。たとえば、_max で 1 と 2 のうち大きい方を求めるには、 _max(1)(2) のように書きます。 _max が通常の max と異なるところは、関数を呼び出すときに引数をひとつづつ渡すようになっていると

    食べられないほうのカリー化入門 - Qiita
    takaesu
    takaesu 2016/09/14
    カリー化
  • JavaScriptのカリー化について味見してみる - Qiita

    JavaScriptには、「部分適用」や「カリー化」といった考え方が存在します。 ココらへんは定義がわかりづらかったり、筆者自身も完璧に理解できているとは言いがたい部分もありますので、ざっくりと全体像でもお伝えできればと思います。 関数の適用、部分適用、カリー化の順番でお話していきます。 関数の適用とは そもそも、関数プログラミング言語においては、関数は「呼び出されるもの」というより、「適用されるもの」と捉えるほうが正確です。JavaScriptにはFunction.prototype.apply()メソッドがあります。 つまり、関数の呼び出しはapply()メソッドの糖衣構文(シンタックスシュガー)である、ということです。実際にapply()を使ってみます。 一つ目の引数には、関数の内部でthisに束縛されるオブジェクト、 二つ目の引数には、引数の配列で、関数の内部で使用したい値の配列を

    JavaScriptのカリー化について味見してみる - Qiita
  • javascript で遊ぶラムダ式、クロージャ、カリー化

    javascript で遊ぶラムダ式、クロージャ、カリー化

    javascript で遊ぶラムダ式、クロージャ、カリー化
  • 1