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
#{number => 7}construye;Line#{state := ringing}actualiza.:=en una actualización exige que la clave ya exista.#{number := N} = Mapsaca valores por patrón.
Palabras clave y builtins usados aquí
get
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.
Paso 1 de 4 en Formas de datos; paso 15 de 31 en Fundamentos del lenguaje.