%集合去重,Acc初始传入为[],存放的是最终的结果
delSame([],Acc) -> Acc;
delSame([Pre|T],Acc) ->checkSame([X||X<-T,X=/=Pre],Acc++[Pre]).
%求交集
crossList(L1,L2) ->
[X||X<-L1,Y<-L2,X=:=Y].
%求并集
mergeList(L1,L2)->
delSame(lists:merge(L1,L2),[]).
总结:(1)erlang的生成式中都是guard;(2)erlang的生成式是以笛卡尔积的形式;
原文:http://blog.csdn.net/zcc_0015/article/details/39941077