Perché non posso utilizzare i parametri opzionali nelle funzioni allentate definite con "let"?F #: Perché non posso utilizzare i parametri opzionali nelle funzioni allentate?
Perché sono consentiti solo nelle funzioni membro?
Perché non posso utilizzare i parametri opzionali nelle funzioni allentate definite con "let"?F #: Perché non posso utilizzare i parametri opzionali nelle funzioni allentate?
Perché sono consentiti solo nelle funzioni membro?
Sospetto che siano forniti solo per compatibilità con le funzioni .NET. Non sono qualcosa che incontri nei linguaggi funzionali. Il problema con un parametro opzionale è che non puoi curry. Se il secondo parametro di una funzione f è facoltativo, che cos'è
let g = f x
?
È una funzione che accetta un argomento o un valore ottenuto valutando f su x più il secondo parametro predefinito?
È consentito in OCaml. Pertanto dovrebbe essere possibile implementarlo in F #.
http://caml.inria.fr/pub/docs/manual-ocaml/lablexamples.html#sec43
credo che è stato omesso per semplicità in F #.