¿Por qué no puedo usar parámetros opcionales en funciones sueltas definidas con "let"?F #: ¿Por qué no puedo usar parámetros opcionales en funciones sueltas?
¿Por qué solo están permitidas las funciones de miembro?
¿Por qué no puedo usar parámetros opcionales en funciones sueltas definidas con "let"?F #: ¿Por qué no puedo usar parámetros opcionales en funciones sueltas?
¿Por qué solo están permitidas las funciones de miembro?
Sospecho que se proporcionan solo para compatibilidad con funciones .NET. No son algo que encuentres en lenguajes funcionales. El problema con un parámetro opcional es que no puedes curry. Si el segundo parámetro de una función f es opcional, ¿cuál es
let g = f x
?
¿Es una función tomar un argumento, o un valor obtenido evaluando f en x más el segundo parámetro predeterminado?
Está permitido en OCaml. Por lo tanto, debería ser posible implementarlo en F #.
http://caml.inria.fr/pub/docs/manual-ocaml/lablexamples.html#sec43
supongo que ha sido omitido por simplicidad en F #.