typestar

Maps en Erlang

=> escribe, := actualiza y matchea, maps:get lee con defectos.

%% Maps write with =>, update bound keys with :=, match with :=.
main(_) ->
    Line = #{number => 7, state => idle, pair => "red-white"},

    io:format("Pair: ~s~n", [maps:get(pair, Line)]),
    io:format("Fallback: ~p~n", [maps:get(fuse, Line, none)]),

    Ringing = Line#{state := ringing},
    io:format("Now: ~p~n", [maps:get(state, Ringing)]),

    #{number := N, state := S} = Ringing,
    io:format("Line ~p is ~p~n", [N, S]),
    io:format("Keys: ~p~n", [maps:keys(Ringing)]).

Cómo funciona

  1. #{number => 7} construye; Line#{state := ringing} actualiza.
  2. := en una actualización exige que la clave ya exista.
  3. #{number := N} = Map saca valores por patrón.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
455
Tokens
159
Ritmo de tres estrellas
60 tpm

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

Escribe este fragmento

Paso 1 de 4 en Formas de datos; paso 15 de 31 en Fundamentos del lenguaje.

← Anterior Siguiente →

Maps en otros lenguajes