2008-09-02 5 views
14

У кого-нибудь был шанс вникать в то, как F# Units of Measure работает? Является ли это просто тиканием на основе типа или существуют скрытые типы CLR, которые могут (потенциально) использоваться с других языков .net? Будет ли она работать для любой числовой единицы или ограничена значениями с плавающей запятой (что все примеры используют)?Как работают единицы измерения F #?

+0

Посмотрите на калькулятор Frink и язык программирования Frink. – 2010-10-25 08:29:32

ответ

11

В соответствии с response на следующем связанном сообщении в блоге они являются чисто статическим механизмом в компиляторе F #. Таким образом, нет CLR-представления данных единиц.

Не совсем ясно, работает ли он в настоящее время с неплавающими типами, но с точки зрения системы типов это теоретически возможно.

+1

Посмотреть последнее сообщение в блоге Andrew Kennedy (в ответе ниже), UOM доступны для любого числового типа, а также для составных типов. – Benjol 2009-12-08 13:03:52

15

Лучшее (и я думаю, официальное) место, чтобы узнать об этом на блоге Эндрю Кеннеди.

Вот (текущие) соответствующие посты.

Как я уже говорил в посте, что ваш отвечающему называют, это определенно то, что вы не можете сделать в C# (хотя я бы хотел, чтобы вы могли).