option en OCaml
La ausencia deletreada Some o None — el tipo que mató al null.
(* option makes absence explicit: Some value or None, no nulls. *)
let find_tag species =
match species with
| "sea star" -> Some 207
| "anemone" -> Some 88
| _ -> None
let report species =
match find_tag species with
| Some tag -> Printf.sprintf "%s wears tag %d" species tag
| None -> species ^ " is untagged"
let () =
print_endline (report "sea star");
print_endline (report "limpet");
(* The Option module maps and defaults without unwrapping. *)
let next = find_tag "anemone" |> Option.map succ in
Printf.printf "Next tag: %d\n" (Option.value next ~default:0)
Cómo funciona
Some 207yNoneson las únicas formas.- Matchear obliga a manejar ambos casos.
Option.mapyOption.value ~defaultencadenan sin desenvolver.
Palabras clave y builtins usados aquí
inletmatchwith
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 566
- Tokens
- 109
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 101 segundos.
Paso 2 de 3 en Coincidencia de patrones; paso 9 de 29 en Fundamentos del lenguaje.