AD

¿Ya dominas lo básico? Un curso estructurado de Ruby es la vía rápida para dar el salto.

Ver cursos de Ruby en Udemy

Enlace de afiliado. No te cuesta nada extra.

💎Lecciones de Ruby
Lección 21 / 68

Escribir código a prueba de nil

En esta lección tratarás con datos que pueden faltar sin que el programa se rompa.

nil es el valor que representa «nada». Pedirle a un hash una clave que no existe devuelve nil, y llamar a un método sobre nil lanza NoMethodError, el error más frecuente de todo el ecosistema Ruby.

El código de ejemplo usa || para poner un valor por defecto cuando el dato falta.

Hay un matiz importante con ||: como false también es falso, opcion || true convierte un false legítimo en true. Para distinguir «no hay dato» de «el dato es false» hay que preguntar explícitamente con .nil?.

Ruby ofrece además el operador &., llamado de navegación segura: usuario&.direccion&.ciudad devuelve nil en cuanto algo por el camino lo sea, en lugar de fallar. Es cómodo, pero se puede abusar de él: encadenar cinco puntos seguros suele ser señal de que el dato debería haberse validado antes, no de que haga falta más protección.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Ruby directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)