Лучшим примером использования единицы измерения F # будет:
[<Measure>] type cm
let convertRadiusToArea(r:float<cm>) : float<cm^2> =
r * r * System.Math.PI
Идея состоит в том, что вы получаете преимущества от единиц измерения в своих расчетах и деривациях.Вы не получите этого, создав единицу измерения под названием «радиус».Это в метрах?Ножки?Сантиметры?И именно поэтому вы должны ввести их в функцию F #, чтобы не допускать двусмысленности относительно единицы измерения для входов и выходов.
Единицы измерения в F # должны быть смоделированы так, как мы используем единицы измеренияизмерение в любых других расчетах или на примере реального мира, таких как скорость, температура, сила и т. д.