我有一些数据操作代码,最后会输出 csv。

我开始升级它以在任何地方添加度量单位,但现在我的 csv 函数有问题:

val WriteCSV : string -> 'a list array -> 'b list -> string -> unit

(参数为文件名、列数组、列标题、分隔符)

我之前将 [|s;x;y|] 发送到 WriteCSV 的地方,现在有问题,因为我无法发送 [|skm;毫米;嗯|]。

我尝试编写一个通用删除度量单位的函数,但它不起作用。
let removeUnit (n:float<_>) = n/1.0<_>

我的问题是:
  • 为什么不起作用?
  • 可以工作吗?
  • 有没有其他方法可以解决这个特殊问题?
  • 最佳答案

    如果我的问题是正确的,将其转换为“纯”浮点数会移除单元。
    例如:

    [<Measure>] type m
    [<Measure>] type km
    
    let removeUnit (x:float<_>) =
        float x
    
    let foo = removeUnit 2.6<m>
    let foo2 = removeUnit 2.1<km>
    

    关于f# - 如何一般地删除 F# 度量单位,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/412459/

    10-11 12:11