Listas y cons en F#
Inmutables, enlazadas: :: construye, @ concatena, los patrones parten.
// Lists are immutable and singly linked; :: builds, @ appends.
let spring = ["Willow"; "Bramble"]
let summer = "Clover" :: spring
let yard = summer @ ["Thistle"]
printfn "%A" yard
printfn "First: %s, count: %d" (List.head yard) (List.length yard)
// Ranges and pattern-matched heads and tails.
let frames = [1 .. 2 .. 9]
printfn "Odd frames: %A" frames
match yard with
| first :: rest -> printfn "%s leads %d others" first (List.length rest)
| [] -> printfn "No hives at all"
Cómo funciona
"Clover" :: springhace una lista nueva compartiendo la cola.[1 .. 2 .. 9]es un literal de rango con paso.first :: restdesestructura cabeza y cola en un match.
Palabras clave y builtins usados aquí
letmatchwith
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 479
- Tokens
- 94
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 87 segundos.
Paso 1 de 3 en Listas; paso 10 de 27 en Fundamentos del lenguaje.