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 14 / 68

La sentencia case/when

En esta lección elegirás entre muchas opciones sin encadenar condicionales.

case valor seguido de varios when compara con cada uno y ejecuta el primero que encaje; else recoge el resto. Se cierra con end, y no hace falta ningún break: en Ruby no existe el paso de una rama a la siguiente.

El código de ejemplo traduce un número a un día de la semana.

Lo que hace especial al case de Ruby es que no compara por igualdad sino con el operador ===, y eso permite cosas que en otros lenguajes no caben: when 1..5 compara con un rango, when String compara con un tipo, when /^\d+$/ compara con una expresión regular. Es mucho más que un menú de valores fijos.

Un case también devuelve un valor, así que se puede asignar directamente: etiqueta = case nota when 90.. then "sobresaliente" ... end. Escrito así se evita repetir la variable en cada rama y se ve de un vistazo que todas las ramas producen lo mismo.

📖 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)