lists:foreach/2
列表里的每一个元素被函数调用
用法:
foreach(Fun, List) -> void()
内部实现:
-spec foreach(Fun, List) -> ok when
Fun :: fun((Elem :: T) -> term()),
List :: [T],
T :: term().
foreach(F, [Hd|Tail]) ->
F(Hd),
foreach(F, Tail);
foreach(F, []) when is_function(F, 1) -> ok.
列表 List 里的每一个元素按从左向右的顺序被函数 Fun 调用,最后返回一个原子 ok。
lists:foreach(fun(E) -> E * E end, [1, 2, 3, 4, 5]).
try
lists:foreach(
fun(5) ->
5 * 5,
throw(foreach_done);
(E) ->
E * E
end,
[1, 2, 3, 4, 5])
catch
throw:foreach_done ->
foreach_done
end.