tôi sử dụng F # 4.0/VS-2015F # Đơn vị đo bằng ký hiệu Unicode ký tự, hạn chế chính xác là gì?
này hoạt động tốt
[<Measure>] type percent
let x1 = 100<percent>
nhưng điều này sẽ đẹp hơn
[<Measure>] type % // Percent
let x2 = 100<%>
[<Measure>] type € // Euro
let cost = 99.99<€>
Do% được sử dụng trong F #, bất kỳ biểu tượng Unicode khác có thể đã sử dụng. Một số người trong số họ được phép và một số thì không được phép.
Câu hỏi đặt ra là, các hạn chế là gì?
Khi biết điều này, đối với các ứng dụng khác, tìm kiếm các ký hiệu Unicode có thể được lọc trước.
phép
[<Measure>] type ᚖ // U+1696
[<Measure>] type ᕎ // U+154E
[<Measure>] type ඖ // U+0D96
let x3 = 0<ඖ>
let x4 = 50<ᕎ>
không được phép
[<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 _%
[] nhập _% // không được phép –
Ồ, tôi không có trình biên dịch để kiểm tra - sẽ cập nhật –
lớp unicode '\ Nl' là chữ số, tôi nghĩ vậy. Vì vậy, điều đó là không thể: [] loại 42 –