Преобразование из м / с в км / ч с использованием единиц измерения F #
м в процессе изучения F # - и в настоящее время изучает единицы измерения. У меня есть простое вычисление, возвращающее метры в секунду, и я хочу представить функцию, преобразующую его в километры в час.
Мой код выглядит так:
[] type kg
[] type s
[] type m
[] type km
[] type h
let msToKmph(speed : float) =
(float speed) * 3.6
let gravityOnEarth = 9.81
let heightOfJump = 3.5
let speedOfImpact = sqrt (2.0 * gravityOnEarth * heightOfJump)
let speedOfImpactKmh = msToKmph(speedOfImpact)
Это работает - я получаю 8,28673639 м / с и 29,832251 км / ч. В чем я не уверен, так это в том, что это лучший способ выразить отношения между разными единицами. Можно ли сделать это более элегантно?
Например, строка выполняет (плавать скорость), чтобы удалить информацию об устройстве из параметра скорости, чтобы msToKmph возвращал км / ч. Если бы я не удалил информацию о единицах перед выполнением расчета, возвращаемая единица была бы: км м / (ч с)