Ответ 1
Оказывается, вы выполняете итерацию по Map
точно так же, как и по Keyword List
(т.е. вы используете tuple
):
Enum.each %{a: 1, b: 2, c: 3}, fn {k, v} ->
IO.puts "#{k} --> #{v}"
end
Понимания также работают:
for {k, v} <- %{a: 1, b: 2, c: 3} do
IO.puts "#{k} --> #{v}"
end
Примечание. Если вы используете Enum.map/2
и Enum.map/2
кортеж, в итоге вы получите список ключевых слов вместо карты. Чтобы преобразовать его в карту, используйте Enum.into/2
.