Se utiliza la sentencia case para comprobar una secuencia de condiciones. Superficialmente se parece al switch de C y Java pero es considerablemente más potente como veremos.
2..5 es una expresión que representa un rango entre 2 y 5 inclusive. La siguiente expresión verifica si el valor i cae dentro del rango: La sentencia case utiliza internamente el operador === para verificar las distintas condiciones. Dentro de la naturaleza orientada a objetos de Ruby, === lo interpreta el objeto que aparece en la condición when. Por ejemplo, el código que sigue comprueba en el primer when la igualdad de cadenas y en el segundo la coincidencia con una expresión regular.