Erlang列表:foreach副作用

Erlang列表:foreach副作用,erlang,Erlang,list:foreach函数能否用于删除回调函数中的元素?i、 e.如果修改正在进行迭代的列表,会有任何问题。我想简单的答案是否定的 函数用于对列表中的所有元素运行特定函数。除此之外,它还返回okatom。它不返回文档定义的列表 foreach(乐趣,列表)->ok 为列表中的每个元素Elem调用Fun(Elem)。此函数用于其副作用,计算顺序定义为与列表中元素的顺序相同 如果您想对每个元素执行一些函数,并返回一个包含该函数结果的列表,您可以使用。尽管如此,请注意,与foreach相比,map并

list:foreach函数能否用于删除回调函数中的元素?i、 e.如果修改正在进行迭代的列表,会有任何问题。

我想简单的答案是否定的

函数用于对列表中的所有元素运行特定函数。除此之外,它还返回
ok
atom。它不返回文档定义的列表

foreach(乐趣,列表)->ok

列表中的每个元素
Elem
调用
Fun(Elem)
。此函数用于其副作用,计算顺序定义为与列表中元素的顺序相同

如果您想对每个元素执行一些函数,并返回一个包含该函数结果的列表,您可以使用。尽管如此,请注意,与
foreach
相比,
map
并不保证任何评估顺序


如果您只想从列表中删除一个元素,请使用。

谢谢。我忘记了变量在erlang中是不可变的。但在文档中,副作用意味着什么。文档所指的是谁的副作用?我猜副作用意味着它不返回任何东西,它只是为列表中的每个元素运行一些东西,而不关心它的返回值。例如,如果要发送某个进程
Pid
List
的所有元素,可以执行
List:foreach(fun(E)->Pid!E end,List)
。请注意,使
foreach
适用于具有副作用的函数的特定属性是,它保证按照列表顺序将函数应用于列表的元素。尽管您可以使用
map
忽略结果,但从理论上讲,map并不保证任何求值顺序(因为求值顺序与纯函数无关),感谢@SamuelRivas,这是绝对正确的,我已将此注释添加到我的答案中。