use*_*428 4 erlang loops for-loop
我是Erlang的新手.我想做的就是获取一个列表,循环遍历每个元素,这样我就可以将它们发送给一个函数.在任何地方都找不到明确的例子.
我想做的例子:
Mylist = [a,b,c,d,e,f,g]
for (i in Mylist) {
otherFunction(Mylist[i]);
}
Run Code Online (Sandbox Code Playgroud)
希望有帮助:)
func([]) -> ok;
func([H|T]) ->
otherFunction(H),
func(T).
Run Code Online (Sandbox Code Playgroud)
或者你可以使用列表理解:
[otherFunction(H) || H <- L].
Run Code Online (Sandbox Code Playgroud)
您可以使用 lists:foreach
L = [a,b,c,d,e,f,g],
Function = fun(Elem) -> atom_to_binary(Elem, utf8) end,
lists:foreach(Function, L).
Run Code Online (Sandbox Code Playgroud)
或者,如果您需要从该函数中获取某些结果,则可以使用lists:foldl或lists:foldr
L = [a,b,c,d,e,f,g],
F = fun(Elem, Acc) -> [atom_to_binary(Elem, utf8) | Acc] end,
lists:foldl(F, [], L).
Run Code Online (Sandbox Code Playgroud)
回应将是
[<<"g">>,<<"f">>,<<"e">>,<<"d">>,<<"c">>,<<"b">>,<<"a">>]
Run Code Online (Sandbox Code Playgroud)