recorrer metodos implementar example entre ejemplo diferencia definicion elixir

elixir - metodos - Agregar/eliminar pares clave-valor de un mapa



metodos de hashmap java (2)

Tu problema

No olvides que las variables son inmutables en el elixir.

Por lo tanto, el siguiente código no tiene sentido, porque no puedes cambiar directamente el valor del map o del map[:d] esta manera:

map[:d] = 4

Solución

Aquí están las funciones que puedes usar en su lugar:

¿Cómo usar estas funciones?

Como las variables de Elixir son inmutables, estas funciones devuelven un nuevo mapa , en lugar de cambiarlo directamente. Ejemplo:

iex(1)> map = %{a: 1, b: 2, c: 3} %{a: 1, b: 2, c: 3} iex(2)> Map.put(map, :d, 4) %{a: 1, b: 2, c: 3, d: 4} iex(3)> map %{a: 1, b: 2, c: 3} # map is unchanged

Por lo tanto, si desea "cambiar" su mapa, debe reemplazar su antigua variable de map por el nuevo mapa devuelto por Map.put() o Map.delete() . Ejemplo:

iex(1)> map = %{a: 1, b: 2, c: 3} %{a: 1, b: 2, c: 3} iex(2)> map = Map.put(map, :d, 4) %{a: 1, b: 2, c: 3, d: 4} iex(3)> map = Map.delete(map, :a) %{b: 2, c: 3, d: 4}

¿Cómo agregar (y eliminar) pares clave-valor en un mapa de Elixir? Esto no funciona:

map = %{a: 1, b: 2, c: 3} map[:d] = 4