我有一个接收字符串列表的方法,并生成一个单词列表列表。
Unable to find explicit activity class
此方法无法按预期工作,因为它始终返回空列表。
我认为这是因为变量阴影。
为了工作,这段代码应该被重写?
答案 0 :(得分:3)
elixir中的变量是不可变的,因此您无法在循环中更改列表。有时它可能“看起来”变量是可变的,因为你可以重新分配它们,但这只会在同一范围内可见。
要获得所需的结果,可以按如下方式使用Enum.flat_map / 2。
def some(words) do
Enum.flat_map words, fn word ->
[["something", word], ["something else", word]]
end
end