也要使F#类型成为度量吗?

问题描述 投票:0回答:1

我正在阅读友好的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'.

types f# units-of-measurement
1个回答
0
投票

看起来像是缩进问题:

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 }
© www.soinside.com 2019 - 2024. All rights reserved.