如何遍历 Elixir 中的地图列表?

Irv*_*dge 6 elixir

我无法理解如何在 Elixir 中使用索引进行迭代。

例如,我有这个来自 java 的片段,我想把它翻译成 Elixir:

for(int i = 1; i < list.size(); i++) {
   list.order = i;
}
Run Code Online (Sandbox Code Playgroud)

假设这list是 Elixir 的地图列表。我无法理解如何以 Elixir 方式执行此操作或仅使用某些索引变量进行迭代。

Ale*_*kin 14

虽然贾斯汀的回答是完全有效的,但惯用的 Elixir 解决方案是使用Enum.with_index/2

list = ~w|a b c d e|
list
|> Enum.with_index()
|> Enum.each(fn {e, idx} -> IO.puts "Elem: #{e}, Idx: #{idx}" end)

#? Elem: a, Idx: 0
#? Elem: b, Idx: 1
#? Elem: c, Idx: 2
#? Elem: d, Idx: 3
#? Elem: e, Idx: 4
Run Code Online (Sandbox Code Playgroud)