używam F # 4.0/VS-2015F # Jednostki miary z symbolami znaków Unicode, jakie jest dokładne ograniczenie?
to dobrze
[<Measure>] type percent
let x1 = 100<percent>
ale to byłby ładniejszy
[<Measure>] type % // Percent
let x2 = 100<%>
[<Measure>] type € // Euro
let cost = 99.99<€>
Ponieważ% stosuje się w F #, wszelkie inne symbole Unicode mogą być używany. Niektóre z nich są dozwolone, a inne nie.
Pytanie brzmi, jakie są ograniczenia?
Znając ten fakt, dla innych aplikacji wyszukiwanie symboli Unicode może być wstępnie filtrowane.
dozwolone
[<Measure>] type ᚖ // U+1696
[<Measure>] type ᕎ // U+154E
[<Measure>] type ඖ // U+0D96
let x3 = 0<ඖ>
let x4 = 50<ᕎ>
niedozwolone
[<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 _%
[] typ _% // niedozwolony –
No cóż, nie miałem kompilatora do sprawdzenia - zaktualizuje –
klasa unicode "\ Nl" jest literą numeryczną, myślę. Więc nie jest to możliwe: [] typ 42 –