PHP では、引数のデフォルト値を次のように設定できます。
function odp(ftw = "OMG!!") {
//...
}
OCaml に同様の機能はありますか?
PHP では、引数のデフォルト値を次のように設定できます。
function odp(ftw = "OMG!!") {
//...
}
OCaml に同様の機能はありますか?
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 ();;
オプションの名前付きパラメーターの後には、オプションではないパラメーターが少なくとも 1 つ続く必要があることに注意してください。