我试图在Enum.each
函数中设置一个变量的值,但是在循环结束时,变量是空的,我不知道这个行为的原因。为什么Enum.each中设置的变量没有保存?
代码:
base = "master"
candidates = ["stream", "pigeons", "maters"]
return = []
Enum.each(candidates, fn candidate ->
cond do
String.length(base) == String.length(candidate) ->
return = return ++ [candidate]
true ->
true
end
end)
IO.inspect return
在这个例子中,return
预期为["stream", "maters"]
,而是,它只是一个空列表:[]
我的问题是为什么会这样。
你是正确的关于本地价值是不同于全球。 –