如何在Erlang中重新分配变量?

时间:2014-07-09 00:18:10

标签: functional-programming erlang

我是Erlang的新手,这是一个问题,我没有得到正确的答案,在互联网上冲浪了好几天。 我想编写如下代码段所示的代码(将其视为伪代码):

Check =false;
lists:foreach(fun(Row) -> 
      if somecondition -> 
          Check = true;
        true -> ok 
      end
end, RowList)

最后我需要得到变量Check的值。和Erlang一样,我们不能为变量“赋值”,如何在上面显示的代码块的末尾得到Check的值?

2 个答案:

答案 0 :(得分:6)

我认为您可以使用此lists:any/2http://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。