flatten(X) -> flatten(X,[]).
flatten([],Acc) -> Acc;
flatten([[]|T],Acc) -> flatten(T, Acc);
flatten([[_|_]=H|T],Acc) -> flatten(T, flatten(H,Acc));
flatten([H|T],Acc) -> flatten(T,Acc++[H]) .
Run Code Online (Sandbox Code Playgroud)
这是来自一个帖子,而不是我的代码.
有人可以解释这里发生的事情:
flatten([[_|_]=H|T],Acc)
Run Code Online (Sandbox Code Playgroud)
[[_|_]=H|T] 是我没有得到的部分.
(另外这是在另一页,但我不能因为代表而对它发表评论.)
erlang ×1