F# 确保计算中的单位一致
例子
度量单位是可以添加到浮点数或整数的其他类型注释。它们可用于在编译时验证计算是否一致使用单位。
要定义注释:
[<Measure>] type m //米 [<Measure>] type s //秒 [<Measure>] type accel = m/s^2 //加速度定义为米/秒平方
定义后,便可以使用注释来验证表达式产生的预期类型。
// Compile-time checking that this function will return meters, since (m/s^2) * (s^2) -> m
//因此,我们知道在计算中已正确使用了单位。
let freeFallDistance (time:float<s>) : float<m> =
0.5 * 9.8<accel> * (time*time)
//在调用站点上也将其明确显示,因此我们知道传递的参数应该以秒为单位
let dist:float<m> = freeFallDistance 3.0<s>
printfn "%f" dist
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法