当从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
or, following the question in this answer
data |> List.map (float >> km.lift)