匿名函式
functionname()
->
***.
不定義函式名的函式,被稱為匿名函式
fun
(引數)
->
***end
.
%% 定義乙個列表
>
list=[
1,2,
3].%% lists:map(處理函式, l) 是個內建函式
%% 作用:把列表l裡的各個元素 傳遞給 處理函式,返回的結果組成新的列表
>
lists
:map
(fun(x
)->x*
2end,l
).[2
,4,6
]
%% 定義初始化水果列表的函式
%% list:member(checktarget, fruitlist) 判斷 checktarget 是否在 fruitlist 中
>
initfruitlist
=fun
(fruitlist)-
>
(fun
(checktarget)-
>
lists
:member
(checktarget
,fruitlist
)end
)end
.%% 初始化本次的列表, 返回了匿名函式函式
>
isfruit
=initfruitlist([
,orange])
.%% 判斷是否是水果
>
isfruit()
.true
>
isfruit
(dog).
false
再探函式引數
c函式的所有引數均以 傳值呼叫 方式進行傳遞。這意味著函式將獲得引數值的乙份拷貝,這樣函式可以放心修改這個拷貝值,而不必擔心會修改呼叫程式實際傳遞給它的引數。普通資料型別主要包括 如下面 所示 include void swap int x int y int main 我們原本是希望編寫乙個函式,...
建構函式再探
建構函式基礎知識 建構函式初始值列表 初始化與賦值 建構函式使用初始值列表還是在函式體中給資料賦值的區別在於,前者是初始化了它的資料成員,後者是對資料成員執行了賦值操作。在很多類中,初始化和賦值的區別事關底層效率問題 前者直接初始化資料成員,後者則先初始化再賦值。除了效率外更重要的是,一些資料成員必...
Erlang中的fun函式使用詳解
先看乙個erlang的規定 在eralng中,同乙個模組中的兩個函式,如果她們同名但是它們的目 arity 不同,這樣的兩個函式被認為是完全不同的兩個函式。通常情況下,這樣的函式被用作輔助函式。fun函式就是乙個匿名函式 因為他自己沒有名字 但就這個匿名函式,用處卻是很大的。fun既可以作為函式的引...