typestar

Maps en Elixir

Un registro de exoplaneta leído de cuatro maneras: punto, corchetes, Map.get y un patrón.

# A map literal; atom keys get the key: value shorthand.
planet = %{name: "Kepler-62f", radius: 1.41, habitable: true}

IO.puts("name: #{planet.name}")
IO.puts("radius: #{planet[:radius]} Earths")
IO.puts("moons: #{Map.get(planet, :moons, "unknown")}")

# Matching on a partial shape pulls fields out by name.
%{name: n, habitable: h} = planet
IO.puts("#{n} habitable? #{h}")

Cómo funciona

  1. %{name: ..., radius: ...} usa la forma corta de claves de átomo.
  2. El punto exige la clave presente; planet[:radius] y Map.get toleran ausencias, uno con valor por defecto.
  3. %{name: n, habitable: h} = planet coincide con parte de la forma e ignora el resto.

El intento, en números

Líneas
10
Caracteres a escribir
375
Tokens
94
Ritmo de tres estrellas
75 tpm

Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 75 segundos.

Escribe este fragmento

Paso 1 de 3 en Maps y structs; paso 10 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →

Maps en otros lenguajes