2017-03-24 5 views
8

タプルf(x、y)が必要な関数を使ってフォールドを実行したいとします。これは私が一種のパターンを抽象化し、高次機能があるようにあるべき感じる関数を解くこと

List.fold (fun x y -> f (x, y)) x xs 

で行うことができ、タプルを見込んで2つの別々の引数を受け取る関数に変換します機能を取ります。

F#標準ライブラリにこのような関数がありますか?そうでない場合は、書くのには簡単ですが、イディオムでは何を呼び出す必要がありますか? untuple

答えて

14

この関数は、ほとんどの関数型言語で通常curryと呼ばれます。それはだな定義は次のとおりです。

let curry f x y = f (x, y) 

は、残念ながらそれは、F#コアlibにはありませんが、それはF#xF#+のように、多くの外部ベースのライブラリで利用可能です。

関連する問題