Records en Erlang
Una tupla nombrada con azúcar de campos en compilación.
%% A record is a named tuple with compile-time field sugar.
-record(line, {number, state = idle, pair}).
main(_) ->
L = #line{number = 7, pair = "red-white"},
io:format("Line ~p on ~s pair~n",
[L#line.number, L#line.pair]),
io:format("Default state: ~p~n", [L#line.state]),
Ringing = L#line{state = ringing},
io:format("Now: ~p~n", [Ringing#line.state]),
#line{number = N} = Ringing,
io:format("Matched number ~p~n", [N]).
Cómo funciona
-record(line, {...})declara campos, algunos con defecto.L#line.numberlee;L#line{state = ringing}copia y actualiza.#line{number = N} = Rmatchea campos por nombre.
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 425
- Tokens
- 126
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 126 segundos.
Paso 2 de 4 en Formas de datos; paso 16 de 31 en Fundamentos del lenguaje.