Io uso F # 4.0/VS-2015F # Unità di misura con simboli di caratteri Unicode, qual è la restrizione esatta?
Questo funziona bene
[<Measure>] type percent
let x1 = 100<percent>
ma questo sarebbe più bello
[<Measure>] type % // Percent
let x2 = 100<%>
[<Measure>] type € // Euro
let cost = 99.99<€>
Poiché l'% è usato in F #, tutti gli altri simboli Unicode possono essere Usato. Alcuni di questi sono ammessi e altri no.
La domanda è: quali sono le restrizioni?
Conoscendo questo, per altre applicazioni, la ricerca di simboli Unicode può essere pre-filtrata.
ammessi
[<Measure>] type ᚖ // U+1696
[<Measure>] type ᕎ // U+154E
[<Measure>] type ඖ // U+0D96
let x3 = 0<ඖ>
let x4 = 50<ᕎ>
non ammessi
[<Measure>] type (%) // error FS0010: Unexpected prefix operator in type name. Expected infix operator, quote symbol or other token.
[<Measure>] type % // error FS0010: Unexpected symbol '{0} in type name
[<Measure>] type (﹪) // error FS0010: Unexpected character '﹪' in type name. Expected infix operator, quote symbol or other token.
[<Measure>] type ﹪ // error FS0010: Unexpected character '﹪' in type name
[<Measure>] type ﹪ // ﹪ U+FE6A
[<Measure>] type ٪ // ٪ U+066A
[<Measure>] type % // % U+0025
[<Measure>] type % // % U+FF05
[<Measure>] type ‰ // ‰ U+2030 promille
[<Measure>] type € // € U+20AC
[<Measure>] type ≷ // ≷ U+2277
[<Measure>] type _%
[] tipo _% // non consentito –
Oh beh, non avevo un compilatore da controllare - aggiornerò la classe di codice "\ Nl" –
, credo. Quindi non è possibile: [] digitare 42 –