才学到归集器,自己撸的一段,书上说这么写效率高一点。
-module(tieba).
-export([add/1,add_acc/3]).
add(L) -> add_acc(L,[],[]).
add_acc([H|T],Odds,Evens)->
case (H rem 2) of
1 -> add_acc(T,[H|Odds],Evens);
0 -> add_acc(T,Odds,[H|Evens])
end;
add_acc([],Odds,Evens)->
lists:sum(Evens) / 3 + lists:sum(Odds) * 3.