typestar

if en Erlang

Todo guardas, probadas en orden; true es el brazo else.

%% if in Erlang is all guards; true is the else arm.
grade(Calls) ->
    if
        Calls >= 100 -> heavy;
        Calls >= 30 -> steady;
        Calls > 0 -> light;
        true -> silent
    end.

main(_) ->
    [io:format("~p calls: ~p traffic~n", [C, grade(C)])
     || C <- [140, 45, 3, 0]],
    ok.

Cómo funciona

  1. Cada brazo es una expresión de guarda, no un patrón.
  2. El cuerpo de la primera guarda cierta responde el if.
  3. true -> atrapa todo lo que cayó a través.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
251
Tokens
83
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 77 segundos.

Escribe este fragmento

Paso 4 de 4 en Coincidencia de patrones; paso 7 de 31 en Fundamentos del lenguaje.

← Anterior Siguiente →