在PHP中,参数的默认值可以设置如下:
function odp(ftw = "OMG!!") {
//...
}
OCaml中是否有类似的功能?
答案 0 :(得分:27)
正常命名参数声明如下:
let foo ~arg1 = arg1 + 5;;
可选的命名参数声明如下:
let odp ?(ftw = "OMG!!") () = print_endline ftw;;
(* and can be used like this *)
odp ~ftw:"hi mom" ();;
odp ();;
请注意,任何可选的命名参数必须后跟至少一个非可选参数,否则例如上面的“odp”看起来就像是部分应用程序。