Составление списка с помощью счетчика в Elixir

Есть ли способ добавить счетчик циклов к пониманию?

Например, понимание без счетчика:

for c <- ["a", "b"], do: c            # => ["a", "b"]

Как добавить счетчик к нему? Что-то вроде этого:

for c <- ["a", "b"], do: {counter, c} # => [{0, "a"}, {1, "b"}]

Ответы

Ответ 1

Используйте Enum.with_index:

iex(1)> for {c, counter} <- Enum.with_index(["a", "b"]), do: {counter, c}
[{0, "a"}, {1, "b"}]