En PHP, valores por defecto de los argumentos se puede configurar de la siguiente manera:OCaml: valores predeterminados para los argumentos de función?
function odp(ftw = "OMG!!") {
//...
}
¿Hay una funcionalidad similar en OCaml?
En PHP, valores por defecto de los argumentos se puede configurar de la siguiente manera:OCaml: valores predeterminados para los argumentos de función?
function odp(ftw = "OMG!!") {
//...
}
¿Hay una funcionalidad similar en OCaml?
OCaml no tiene parámetros posicionales opcionales, ya que, como OCaml admite el currying, si omite algunos argumentos, simplemente parece una aplicación parcial. Sin embargo, para los parámetros con nombre, hay parámetros con nombre opcionales.
parámetros con nombre normales se declaran así:
let foo ~arg1 = arg1 + 5;;
parámetros con nombre opcionales se declaran así:
let odp ?(ftw = "OMG!!")() = print_endline ftw;;
(* and can be used like this *)
odp ~ftw:"hi mom"();;
odp();;
en cuenta que cualquier parámetros con nombre opcionales deben ser seguidos por al menos una no opcional parámetro, porque de lo contrario, por ejemplo, "odp" anterior simplemente parecería una aplicación parcial.
típicamente, yo solo usaría "let foo arg1 = arg1 + 5 ;;", sin el "~". ¿Cuál es el punto de esto? –
puede leer sobre ellos aquí: http://caml.inria.fr/pub/docs/manual-ocaml/manual006.html#htoc37 – newacct
El enlace actualizado: http://caml.inria.fr/pub/docs/ manual-ocaml/lablexamples.html # sec43 – neo