Muz*_*hua 5 erlang list append
在两对给定的比较中,对于Erlang中的系统资源,哪一对(每对)更昂贵:
Qn1: lists:append(L1,L2)
与erlang:'++'(L1,L2)
Qn2相反写入列表的头部说:[NewHead|List]
与写入列表末尾的对象:List ++ [NewValue]
我之所以问这个问题,是因为我的程序中有一部分是读写列表的.我需要决定是否要写到列表的头部或写到他们的目的,反之亦然.
Ric*_*rdC 18
1:它们功能相同.'append'是'++'的别名(反之亦然).另请参见Erlang ++运算符.句法糖,还是单独操作?
2:不要通过追加来逐步构建列表.追加一次是好的,但是在循环中追加会给你二次行为.即,AddedStuff ++ Accumulator是可以的(即使在循环中),因为你正在"向左"增长,但是Accumulator ++ AddedStuff在一个循环中(向右增长)真的很糟糕.如果订单很重要,那么向左增长然后反向或排序会更好.