Dopo aver letto la risposta di Chris' per F# - public literal e il post sul blog a http://blogs.msdn.com/b/chrsmith/archive/2008/10/03/f-zen-the-literal-attribute.aspx Non capisco il motivo per cui il seguente non funziona:attributo letterale non funziona
[<Literal>]
let one = 1
[<Literal>]
let two = 2
let trymatch x =
match x with
| one -> printfn "%A" one
| two -> printfn "%A" two
| _ -> printfn "none"
trymatch 3
Ciò mantiene la stampa '3', anche se penso che non dovrebbe. Che cosa non vedo qui?
Sì, confermato. Il compilatore mi avvisa di tutti i tipi di cose ovvie, ma quando ne hai davvero bisogno ... –