En PHP, les valeurs par défaut pour les arguments peuvent être définis comme suit:OCaml: valeurs par défaut pour les arguments de fonction?
function odp(ftw = "OMG!!") {
//...
}
Y at-il des fonctionnalités similaires à OCaml?
En PHP, les valeurs par défaut pour les arguments peuvent être définis comme suit:OCaml: valeurs par défaut pour les arguments de fonction?
function odp(ftw = "OMG!!") {
//...
}
Y at-il des fonctionnalités similaires à OCaml?
OCaml n'a pas de paramètres positionnels optionnels car, puisque OCaml prend en charge la correction, si vous omettez certains arguments, cela ressemble à une application partielle. Cependant, pour les paramètres nommés, il existe des paramètres nommés facultatifs.
paramètres normaux nommés sont déclarés comme ceci:
let foo ~arg1 = arg1 + 5;;
paramètres optionnels nommés sont déclarés comme ceci:
let odp ?(ftw = "OMG!!")() = print_endline ftw;;
(* and can be used like this *)
odp ~ftw:"hi mom"();;
odp();;
Notez que tous les paramètres nommés en option doivent être suivies par au moins un non-option paramètre, car sinon "odp" ci-dessus ressemblerait à une application partielle.
typiquement, je voudrais simplement utiliser "let foo arg1 = arg1 + 5 ;;", sans le "~". Quel est le but de ça? –
vous pouvez lire à leur sujet ici: http://caml.inria.fr/pub/docs/manual-ocaml/manual006.html#htoc37 – newacct
Le lien mis à jour: http://caml.inria.fr/pub/docs/ manual-ocaml/lablexamples.html # sec43 – neo