區域性變數
可以在函式內定義區域性變數
- 減少程式碼重複
- 給子表示式命名
- 減少傳遞的引數數量。
這個結構是 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