El pipeline en OCaml
|> alimenta el valor izquierdo hacia adelante; los datos se leen en orden.
(* |> feeds the left value forward: data reads in flow order. *)
let counts = [12; 5; 31; 8; 19]
let busy_pools =
counts
|> List.filter (fun c -> c > 10)
|> List.length
let () =
Printf.printf "Pools above ten animals: %d\n" busy_pools;
(* The pipeless version reads inside out. *)
Printf.printf "Total: %d\n" (List.fold_left ( + ) 0 counts);
counts |> List.map string_of_int |> String.concat ", "
|> print_endline
Cómo funciona
counts |> List.filter ... |> List.lengthse lee como oración.- La versión sin pipe anida de adentro hacia afuera.
- Los pipelines terminan donde quepa una función, hasta
print_endline.
Palabras clave y builtins usados aquí
funlet
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 415
- Tokens
- 90
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 83 segundos.
Paso 2 de 4 en Funciones; paso 5 de 29 en Fundamentos del lenguaje.