typestar

match en F#

Una expresión que debe cubrir cada caso; el compilador audita.

// match is an expression: every arm yields a value, all cases covered.
let describe frames =
    match frames with
    | 0 -> "empty box"
    | 1 -> "a single frame"
    | n when n < 10 -> sprintf "%d frames, room to grow" n
    | _ -> "packed full"

[0; 1; 6; 14] |> List.iter (describe >> printfn "%s")

// Tuples destructure right in the pattern.
let advice =
    match ("spring", 12) with
    | ("spring", n) when n > 10 -> "add a super"
    | (season, _) -> sprintf "hold steady through %s" season
printfn "%s" advice

Cómo funciona

  1. Los brazos se prueban en orden; when refina un patrón.
  2. _ es el comodín que completa la cobertura.
  3. Las tuplas se desestructuran en el patrón: ("spring", n).

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
491
Tokens
107
Ritmo de tres estrellas
65 tpm

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

Escribe este fragmento

Paso 1 de 3 en Coincidencia de patrones; paso 7 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →

match en otros lenguajes