elixir - valor - recorrer list map java
Recorrer los pares clave-valor de un mapa (1)
¿Cómo iterar sobre los pares clave-valor de un mapa en Elixir?
Esto no funciona:
my_map = %{a: 1, b: 2, c: 3}
Enum.each my_map, fn %{k => v} ->
IO.puts "#{k} --> #{v}"
end
Resulta que usted itera sobre un Map
exactamente como lo hace sobre una Keyword List
(es decir, utiliza una tuple
):
Enum.each %{a: 1, b: 2, c: 3}, fn {k, v} ->
IO.puts "#{k} --> #{v}"
end
Comprehensions también funcionan:
for {k, v} <- %{a: 1, b: 2, c: 3} do
IO.puts "#{k} --> #{v}"
end
Nota: Si usa Enum.map/2
y devuelve una tupla, terminará con una Lista de palabras clave en lugar de Mapa. Para convertirlo en un mapa, use Enum.into/2
.