Erlang 十 再探函式(fun)

2021-10-09 05:29:47 字數 987 閱讀 3843

匿名函式

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既可以作為函式的引...