局部变量
可以在函数内定义局部变量
- 减少代码重复
- 给子表达式命名
- 减少传递的参数数量。
这个结构是 let ... in ...
。
bigNumbers =
let
allNumbers =
[1..100]
isBig number =
number > 95
in
List.filter isBig allNumbers
> bigNumbers
[96,97,98,99,100] : List number
> allNumbers
-- error, doesn't know what allNumbers is!
let
第一部分的定义顺序无关紧要!
outOfOrder =
let
x =
y + 1 -- the compiler can handle this
y =
100
in
x + y
> outOfOrder
201 : number