递归求和:
total([Head
|
Tail])
->
some_function_of(Head) + total(Tail);
Total([]) ->
0 .
some_function_of(Head) + total(Tail);
Total([]) ->
0 .
list-at-a-time操作:
Even
=
fun(X)
->
(X rem
2
)
=:=
0
end
.
lists : map(Even , [ 1 , 2 , 3 , 4 ]) .
>> [ false , true , false , true ]
lists : filter(Even , [ 1 , 2 , 3 , 4 ]) .
>> [ 2 , 4 ]
lists : map(Even , [ 1 , 2 , 3 , 4 ]) .
>> [ false , true , false , true ]
lists : filter(Even , [ 1 , 2 , 3 , 4 ]) .
>> [ 2 , 4 ]
绑定测试:
MakeTest
=
fun(L)
->
(fun(X)
->
lists
:
member(X
,
L)
end
)
end
.
Fruit = [apple , pear , orange] .
IsFruit = MakeTest(Fruit) .
lists : filter(IsFruit , [dog , orange , cat , apple , bear]) .
>> [orange , apple]
Fruit = [apple , pear , orange] .
IsFruit = MakeTest(Fruit) .
lists : filter(IsFruit , [dog , orange , cat , apple , bear]) .
>> [orange , apple]
尾递归:
loop()
->
receive
{From , What1} ->
From ! {self() , Result1} ,
loop();
{From , What2} ->
From ! {self() , Result2} ,
loop();
{From , What3} ->
From ! {self() , Result3} ,
loop();
{From , Other} ->
From ! {self() , error} ,
loop()
end .
receive
{From , What1} ->
From ! {self() , Result1} ,
loop();
{From , What2} ->
From ! {self() , Result2} ,
loop();
{From , What3} ->
From ! {self() , Result3} ,
loop();
{From , Other} ->
From ! {self() , error} ,
loop()
end .