我正在阅读友好的F#,并且书中有此代码
[<Measure>]
type Vector2<[<Measure>]'a> =
{
X: float<'a>
Y: float<'a>
}
因此,此代码应与F#和VS 2010一起使用。我目前正在使用VS2012。
VS2012显示错误。这是F#版本问题吗?如果是这样,正确的方法是什么?
显示的错误是:
Error 4 A type definition requires one or more members or other declarations. If you intend to define an empty class, struct or interface, then use 'type ... = class end', 'interface end' or 'struct end'.
看起来像是缩进问题:
type Vector2<[<Measure>]'a> =
{
X: float<'a>
Y: float<'a>
}
[<Measure>] type kg
{ X = 13.<kg> ; Y = 10.<_> }
// val it : Vector2<kg> = { X = 13.0; Y = 10.0 }