erlang:使用 fun 來編寫一個成績排序

-module(test).
-export([f/1]).

f(List)->
lists:foreach(funshow/1,lists:sort(fun({_,A},{_,B})-> A>B end,lists:map(funadd/1,List))).

show({Name,Grage})->
io:format("~-15w:~15w~n",[Name,Grage]).

add({Name,A,B})->
{Name,A+B}.



在這裏是故意不對名字進行排序的,主要是爲了_ 這個表示爲空

 

結果:

 
1> c(test).
{ok,test}
2> test:f([{a,10,20},{b,20,30},{c,10,20}]).
b              :             50
c              :             30
a              :             30
ok
3>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章