lists:map/2
列表里的每一个元素被函数调用
用法:
map(Fun, List1) -> List2
内部实现:
-spec map(Fun, List1) -> List2 when
Fun :: fun((A) -> B),
List1 :: [A],
List2 :: [B],
A :: term(),
B :: term().
map(F, [H|T]) ->
[F(H)|map(F, T)];
map(F, []) when is_function(F, 1) -> [].
跟 lists:foreach/2 一样,都是列表 List 里的每一个元素按从左向右的顺序被函数 Fun 调用,不同的是,每次函数 Fun 执行的结果将保留,并组成一个列表返回。
lists:map(fun(E) -> E * E end, [1, 2, 3, 4, 5]).