Menu
Coddy logo textTech

If - Else anidados

Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 24 de 88.

¿Qué pasa si necesitas comprobar más de dos condiciones? Puedes colocar una sentencia if-else dentro de otra sentencia if-else. Esto se llama anidamiento y te permite manejar múltiples puntos de decisión.

score = 85

if score >= 90
  puts "Grade: A"
else
  if score >= 80
    puts "Grade: B"
  else
    puts "Grade: C"
  end
end

Ruby comprueba la primera condición. Si es falsa, se mueve al bloque else donde espera otro if-else. Esto crea una cadena de decisiones, cada una reduciendo las posibilidades.

Ruby ofrece una forma más limpia de escribir esto usando elsif, que combina else e if en una sola palabra clave:

score = 85

if score >= 90
  puts "Grade: A"
elsif score >= 80
  puts "Grade: B"
else
  puts "Grade: C"
end

Ambos ejemplos producen el mismo resultado, pero elsif mantiene tu código más plano y fácil de leer. Puedes encadenar tantas condiciones elsif como necesites, y el else final captura cualquier cosa que no coincida con las condiciones anteriores.

challenge icon

Desafío

Fácil

Se te proporciona la siguiente variable:

temperature = 15

Crea un sistema de asesoramiento meteorológico utilizando if, elsif, y else para clasificar la temperatura e imprimir el mensaje apropiado:

  • Si temperature es mayor o igual a 30, imprime Hot - Stay hydrated
  • Si temperature es mayor o igual a 20, imprime Warm - Enjoy the day
  • Si temperature es mayor o igual a 10, imprime Cool - Bring a jacket
  • Si temperature es mayor o igual a 0, imprime Cold - Bundle up
  • De lo contrario, imprime Freezing - Stay indoors

Muestra solo el mensaje único que coincida con la temperatura.

Hoja de referencia

Puedes anidar sentencias if-else unas dentro de otras para comprobar múltiples condiciones:

score = 85

if score >= 90
  puts "Grade: A"
else
  if score >= 80
    puts "Grade: B"
  else
    puts "Grade: C"
  end
end

Ruby proporciona elsif como una forma más limpia de encadenar múltiples condiciones:

score = 85

if score >= 90
  puts "Grade: A"
elsif score >= 80
  puts "Grade: B"
else
  puts "Grade: C"
end

Puedes encadenar tantas condiciones elsif como sea necesario. El else final captura cualquier cosa que no coincida con las condiciones anteriores.

Pruébalo tú mismo

temperature = 15

# TODO: Escribe tu código a continuación para clasificar la temperatura
# Usa if, elsif y else para imprimir el mensaje de aviso meteorológico adecuado
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos