Componer etapas en Erlang
No hay operador pipe: anida las llamadas o nombra las etapas.
%% No pipe operator: compose by nesting or naming the stages.
main(_) ->
Raw = [" 12 ", "3", " 21", "8 "],
%% Nested style reads inside out.
Total = lists:sum([list_to_integer(string:trim(S)) || S <- Raw]),
io:format("Total: ~p~n", [Total]),
%% Named stages read top to bottom.
Trimmed = [string:trim(S) || S <- Raw],
Numbers = [list_to_integer(S) || S <- Trimmed],
Sorted = lists:sort(fun(A, B) -> A > B end, Numbers),
io:format("Ranked: ~p~n", [Sorted]).
Cómo funciona
- El estilo anidado se lee de adentro hacia afuera, compacto.
- Las etapas nombradas se leen de arriba abajo como receta.
lists:sort/2toma el fun de orden directo.
Palabras clave y builtins usados aquí
endfunlist_to_integer
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 458
- Tokens
- 138
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 138 segundos.
Paso 3 de 3 en Recursión y comprensiones; paso 10 de 31 en Fundamentos del lenguaje.