私は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"]
ことが予想されるが、代わりに、それだけで空のリストである:これはなぜ起こるか[]
私の質問です。
String.length(base) == String.length(candidate)
はすでにセット内のパターンである、trueに相当することができます:私は言語で働いたことがありませんが、カップルの事が心に春から
ローカル値がグローバルと異なることは間違いありません。 –