typestar

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

  1. El estilo anidado se lee de adentro hacia afuera, compacto.
  2. Las etapas nombradas se leen de arriba abajo como receta.
  3. lists:sort/2 toma el fun de orden directo.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 3 de 3 en Recursión y comprensiones; paso 10 de 31 en Fundamentos del lenguaje.

← Anterior Siguiente →