texas - Cómo eliminar genéticamente F#Unidades de medida
unidades de medida mas comunes (1)
Si obtuve el problema correcto, al convertirlo en flotador "puro" se elimina la unidad. Por ejemplo:
[<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> -> flotador
Tengo un código de manipulación de datos que arroja csv al final.
Empecé a actualizarlo para agregar unidades de medida en todas partes, pero ahora tengo un problema con mi función csv:
val WriteCSV : string -> ''a list array -> ''b list -> string -> unit
(los parámetros son fileName, column array, column headers, separator)
Donde envié anteriormente [| s; x; y |] a WriteCSV, ahora tengo un problema, porque no puedo enviar [| skm; xmm; ymm |].
Intenté escribir una función para eliminar genéricamente unidades de medida, pero no funciona.
let removeUnit (n:float<_>) = n/1.0<_>
Mis preguntas son:
- ¿Por qué no funciona?
- ¿Se puede hacer que funcione?
- ¿Hay alguna otra forma de resolver este problema en particular?