我使用F#4.0/VS-2015
这很好用
[<Measure>] type percent
let x1 = 100<percent>
Run Code Online (Sandbox Code Playgroud)
但这会更好
[<Measure>] type % // Percent
let x2 = 100<%>
[<Measure>] type € // Euro
let cost = 99.99<€>
Run Code Online (Sandbox Code Playgroud)
因为%在F#中使用,所以可以使用任何其他Unicode符号.其中一些是允许的,一些不是.
问题是,有哪些限制?
知道了这一点,对于其他应用程序,可以预先过滤对Unicode符号的搜索.
允许
[<Measure>] type ? // U+1696
[<Measure>] type ? // U+154E
[<Measure>] type ? // U+0D96
let x3 = 0<?>
let x4 = 50<?>
Run Code Online (Sandbox Code Playgroud)
不允许
[<Measure>] type (%) // error FS0010: Unexpected prefix operator in type name. Expected infix operator, quote symbol or other token.
[<Measure>] type % // …Run Code Online (Sandbox Code Playgroud)