typestar

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

  1. "Clover" :: spring hace una lista nueva compartiendo la cola.
  2. [1 .. 2 .. 9] es un literal de rango con paso.
  3. first :: rest desestructura cabeza y cola en un match.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 1 de 3 en Listas; paso 10 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →