-module(two).
-export([total/1,total2/1]).
cost(apple)->3;
cost(banana)->2;
cost(peach)->1.
%% [{apple,2},{banana,2}]
map(F,[H|T])->[F(H)|map(F,T)];
map(_,[])->[].
% H为当前参数,T为下一个参数
sum([H|T])->
H+sum(T);
sum([])->0.
total([])->0;
total(Shop)->
sum(map(fun({Name,Number}) -> cost(Name)*Number end,Shop)).
%Erlangr特色写法
total2([])->0;
total2([{Name,Number}|Other])->
cost(Name)*Number+total2(Other).
购物车例子