我是Erlang的新手,这是一个问题,我没有得到正确的答案,在互联网上冲浪了好几天。 我想编写如下代码段所示的代码(将其视为伪代码):
Check =false;
lists:foreach(fun(Row) ->
if somecondition ->
Check = true;
true -> ok
end
end, RowList)
最后我需要得到变量Check的值。和Erlang一样,我们不能为变量“赋值”,如何在上面显示的代码块的末尾得到Check的值?
答案 0 :(得分:6)
我认为您可以使用此lists:any/2
。
http://www.erlang.org/doc/man/lists.html#any-2
lists:any(fun(Row) -> somecondition end, RowList).
答案 1 :(得分:1)
通过列表并修改每个元素的值的一般方法是使用lists:foldl/3
http://www.erlang.org/doc/man/lists.html#foldl-3。对于您的具体示例,使用列表更容易,更短:如上所述的任何/ 2。