玩意兒
Erlang 是一種函數語言程式設計語言。函式程式語言的一個特性是將函式作為資料(函式物件)處理。
- 將函式作為引數傳遞給另一個函式。
- 作為函式的結果返回函式。
- 在某些資料結構中保留函式。
在 Erlang 中,這些函式稱為 funs。Funs 是匿名函式。
1> Fun = fun(X) -> X*X end.
#Fun<erl_eval.6.52032458>
2> Fun(5).
25
Funs 也可能有幾個條款。
3> AddOrMult = fun(add,X) -> X+X;
3> (mul,X) -> X*X
3> end.
#Fun<erl_eval.12.52032458>
4> AddOrMult(mul,5).
25
5> AddOrMult(add,5).
10
你還可以使用模組函式作為語言:fun Module:Function/Arity
。
例如,讓我們從 lists
模組中獲取 max
函式,它具有 arity 1。
6> Max = fun lists:max/1.
#Fun<lists.max.1>
7> Max([1,3,5,9,2]).
9