F # Единицы измерения, проблемы с универсальностью 2 - PullRequest
0 голосов
/ 29 января 2009

Исходя из этого вопроса, я все еще, кажется, борюсь за границы возможного, хотя я не думаю, что я делаю что-то особенно кровоточащее:

type Vector2d = { X: float<'u>; Y: float<'u> }

Дает мне ошибка FS0039: Параметр единицы измерения 'u' не определен.

А

type Vector2d = { X: float<_>; Y: float<_> }

Дает мне Ошибка FS0191: анонимные переменные единицы измерения не разрешены в этом объявлении.

Это тот случай, когда функции могут обрабатывать «общие» единицы измерения, а типы - нет?

1 Ответ

2 голосов
/ 29 января 2009
type Vector2d<[<Measure>]'u> = { X: float<'u>; Y: float<'u> }

должен сделать трюк

Примечание. Это верно в версии 1.9.6.2 CTP, но этот API в настоящее время не рассматривается как стабильный

...