能够自动转换度量单位会很棒,这些度量单位只是同一维度的乘数。 (kg - > g,cm - > mm,km - > m)。从我在网上看到的内容:
https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/units-of-measure https://fsharpforfunandprofit.com/posts/units-of-measure/
如果没有辅助功能,我似乎无法工作。从我的角度来看,这些转换污染了计算。我想要这样的东西起作用:
[<Measure>] type m
[<Measure>] type km = 1000 * m
以下也不会有效。
let distance = 1000 * 10**3 <m>
这是否可以通过其他方式实现?
答案 0 :(得分:1)
我不知道F#,但是,单位是polute计算。这就是为什么你应该只在输入时转换值(例如读取表格文件/ stdin),总是以相同的单位进行计算,公制系统就是这里的。然后,最后,将度量系统的结果转换为您想要的任何单位。
这样,以后可以很容易地添加对新单元的支持