valores valor recorrer ordenado obtener mapa for diccionario como elixir

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 .