首页 > Erlang并发教程 > 4.3 Erlang并发编程-常用列表处理函数append
2013
11-06

4.3 Erlang并发编程-常用列表处理函数append

append

append(A,B)连接两个列表AB

append([H|L1], L2) -> [H|append(L1, L2)];
append([], L) -> L.

append的第二个子句再明白不过了——将任意列表L追加至空列表之后仍得到L

第一个子句给出了追加一个非空列表到另一个列表之后的规则。因此,对于:

append([a,b,c], [d,e,f])

其求值结果为:

[a | append([b,c], [d,e,f])]

那么append([b,c], [d,e,f])的值又是多少呢?它(当然)是[b,c,d,e,f],因此[a | append([b,c], [d,e,f])]的值就是[a|append([b,c], [d,e,f])],这也是[a,b,c,d,e,f]的另一种写法。

append的行为如下:

> lists:append([a,b,c],[d,e,f]).
(0)lists:append([a,b,c],[d,e,f])
(1).lists:append([b,c], [d,e,f])
(2)..lists:append([c],[d,e,f])
(3)...lists:append([], [d,e,f])
(3)...[d,e,f]
(2)..[c,d,e,f]
(1).[b,c,d,e,f]
(0)[a,b,c,d,e,f]
[a,b,c,d,e,f]

留下一个回复

你的email不会被公开。