import gleam/io
import gleam/option.{type Option, None, Some}
pub type Person {
Person(name: String, pet: Option(String))
}
pub fn main() {
let person_with_pet = Person("Al", Some("Nubi"))
let person_without_pet = Person("Maria", None)
io.debug(person_with_pet)
io.debug(person_without_pet)
}
Los valores en Gleam no son nulos, por lo que el módulo de la biblioteca estándar gleam/option define el tipo Option de Gleam, que se puede utilizar para representar un valor que está presente o ausente.
El tipo option es muy similar al tipo result, pero no tiene un valor de error. Algunos lenguajes tienen funciones que devuelven una opción cuando no hay detalles de error adicionales que proporcionar, pero Gleam siempre utiliza result. Esto hace que todas las funciones falibles sean consistentes y elimina cualquier código repetitivo que se requeriría al mezclar funciones que utilizan cada tipo.