При импорте чисел из CSV-файла мне нужно преобразовать их в числа с плавающей запятой с единицей измерения.
В настоящее время я делаю это с помощью встроенной функции:
data |> List.map float |> List.map (fun n -> n * 1.0<m>)
Но мне интересно, есть ли более элегантный способ сделать это - или я должен создать свой собственный модуль 'единиц' с функциями преобразования?
Что было бы действительно хорошо, было бы что-то вроде этого, но я сомневаюсь, что это возможно ...
data |> List.map float |> List.map lift<m>
Это противоположно моему предыдущему вопросу ( Как вообще удалить F # Единицы измерения ).
ОБНОВЛЕНИЕ: Для самодельных устройств, я попробовал это, что работает нормально:
[<Measure>]
type km =
static member lift (v:float) = v * 1.0<km>
data |> List.map float |> List.map km.lift
или, после вопроса в этот ответ
data |> List.map (float >> km.lift)