2009-09-15 31 views

答えて

23

OCamlにはオプションの位置パラメータがありません。なぜなら、OCamlはカリングをサポートしているため、いくつかの引数を省略すると部分的なアプリケーションのように見えるからです。ただし、名前付きパラメーターの場合は、オプションの名前付きパラメーターがあります。

通常の名前付きパラメータは、次のように宣言されています

let foo ~arg1 = arg1 + 5;; 

オプションの名前付きパラメータは次のように宣言されています

let odp ?(ftw = "OMG!!")() = print_endline ftw;; 

(* and can be used like this *) 
odp ~ftw:"hi mom"();; 
odp();; 

任意のオプションの名前付きパラメータは、少なくとも一つの非オプションが続かなければならないことに注意してくださいそうでなければ、上記の "odp"は部分的なアプリケーションのように見えます。

+0

通常、「〜foo arg1 = arg1 + 5 ;;」を使用します。それのポイントは何ですか? –

+0

ここでそれらについて読むことができます:http://caml.inria.fr/pub/docs/manual-ocaml/manual006.html#htoc37 – newacct

+2

更新されたリンク:http://caml.inria.fr/pub/docs/ manual-ocaml/lablexamples.html#sec43 – neo

関連する問題