Seguridad ante nil en Ruby
Los operadores que evitan que nil tumbe una cadena de llamadas.
config = { "theme" => "dark" }
# &. llama al método solo cuando el receptor no es nil
user = nil
puts user&.length.inspect
# ||= asigna solo cuando el valor actual es nil o false
cache = nil
cache ||= "computed once"
puts cache
# fetch falla ante un typo; el valor por defecto hace explícito el fallback
puts config.fetch("theme")
puts config.fetch("font", "mono")
puts config["missing"].to_s.empty?
Cómo funciona
&.devuelve nil en vez de lanzar cuando el receptor es nil.||=asigna solo cuando el valor actual es nil o false.fetchlanza ante errores de tipeo, salvo que le des un valor por defecto explícito.
Palabras clave y builtins usados aquí
puts
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 402
- Tokens
- 69
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 52 segundos.
Paso 1 de 3 en Nil y modismos; paso 22 de 29 en Fundamentos del lenguaje.