在 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 ();;
请注意,任何可选的命名参数必须后跟至少一个非可选参数,否则例如上面的“odp”将看起来像一个部分应用程序。