Da quanto ho capito, ogni codice in f # è un'espressione, incluso let
binding.
Diciamo che abbiamo il seguente codice:
let a = 5
printfn "%d" a
Ho letto che questo sarebbe stato visto dal compilatore come
let a = 5 in
(
printfn "%d" a
)
Quindi il valore di tutto questo sarebbe il valore dell'espressione interna, che è il valore di printf
. D'altra parte, in f # interactive:
> let a = 5;;
val a : int = 5
Che indica chiaramente che il valore di let expression è il valore associato all'identificatore.
D: Qualcuno può spiegare qual è il valore di un'espressione let? Può essere diverso nel codice compilato che in F # interattivo?