Делать тип F # тоже мерой? - PullRequest
       64

Делать тип F # тоже мерой?

0 голосов
/ 12 февраля 2020

Я читаю Friendly 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'.

1 Ответ

1 голос
/ 12 февраля 2020

Похоже на проблему с отступом:

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 }
...