typestar

Composición en F#

>> pega funciones en funciones nuevas, sin nombrar argumento.

// >> glues functions into new functions, no argument in sight.
let gramsOfKg kg = kg * 1000.0
let jars grams = grams / 340.0

// The composed pipeline is itself a value.
let jarsOfKg = gramsOfKg >> jars >> floor

printfn "Jars from 12.4 kg: %.0f" (jarsOfKg 12.4)
printfn "Jars from 30.0 kg: %.0f" (jarsOfKg 30.0)

// Composition and piping meet: build once, apply anywhere.
let describe = jarsOfKg >> sprintf "yields %.0f jars"
[8.5; 15.3] |> List.map describe |> List.iter (printfn "%s")

Cómo funciona

  1. gramsOfKg >> jars >> floor es un valor de función.
  2. Los pipelines compuestos aplican donde quepa una función.
  3. List.map describe reusa la composición sobre una lista.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
489
Tokens
87
Ritmo de tres estrellas
65 tpm

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

Escribe este fragmento

Paso 3 de 3 en Funciones; paso 6 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →