我試圖在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"]
,而是,它只是一個空列表:[]
我的問題是爲什麼會這樣。
你是正確的關於本地價值是不同於全球。 –