Как полностью удалить F # Единицы измерения
У меня есть код обработки данных, который выдает csv в конце.
Я начал обновлять его, чтобы добавлять единицы измерения везде, но теперь у меня есть проблема с моей функцией csv:
val WriteCSV : string -> 'a list array -> 'b list -> string -> unit
(параметры - имя_файла, массив столбцов, заголовки столбцов, разделитель)
Когда я ранее отправил [| s; x; y |] в WriteCSV, у меня теперь есть проблема, потому что я не могу отправить [| skm; XMM; YMM |.]
Я попытался написать функцию для общего удаления единиц измерения, но она не работает.
let removeUnit (n:float<_>) = n/1.0<_>
Мои вопросы:
- Почему это не работает?
- Можно ли заставить работать?
- Есть ли другой способ решить эту конкретную проблему?
Ответы
Ответ 1
Если у меня возникла проблема с вашей проблемой, ее отлитие от "чистого" поплавка удалит Unit.
Например:
[<Measure>] type m
[<Measure>] type km
let removeUnit (x:float<_>) =
float x
let foo = removeUnit 2.6<m>
let foo2 = removeUnit 2.1<km>
val removeUnit: float < 'u > → float