Menu
CoddyTech

Sentencia Unless

Parte de la sección Fundamentos del Journey de Ruby de Coddy. Lección 25 de 88.

Ruby ofrece una forma única de expresar condiciones cuando quieres ejecutar código solo si algo no es verdadero. La instrucción unless es esencialmente lo opuesto a if.

Con if, el código se ejecuta cuando la condición es verdadera. Con unless, el código se ejecuta cuando la condición es falsa:

logged_in = false

unless logged_in
  puts "Please log in to continue"
end

Esto equivale a escribir if !logged_in, pero unless suele leerse de forma más natural. Piensa en ello como «haz esto a menos que esa condición sea verdadera».

También puedes usar unless con else:

age = 20

unless age < 18
  puts "Access granted"
else
  puts "Access denied"
end

Sin embargo, cuando necesitas un bloque else, usar if suele ser más claro. La instrucción unless destaca cuando tienes una condición negativa sencilla sin una ruta alternativa. Elige la opción que haga que tu código sea más fácil de leer de un vistazo.

challenge icon

Desafío

Fácil

Se te proporcionan las siguientes variables:

has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false

Usa instrucciones unless para evaluar cada uno de los siguientes escenarios. Imprime el mensaje especificado solo cuando la condición sea falsa (que es cuando unless ejecuta su bloque).

  1. A menos que has_ticket sea true, imprime Please purchase a ticket
  2. A menos que is_vip sea true, imprime VIP access required
  3. A menos que items_in_cart sea mayor que 0, imprime Your cart is empty
  4. A menos que battery_level sea mayor que 20, imprime Low battery warning
  5. A menos que is_charging sea true o battery_level sea mayor que 50, imprime Please charge your device

Cada mensaje debe aparecer en su propia línea. Imprime solo los mensajes correspondientes a las condiciones que ejecuten el bloque unless.

Pruébalo tú mismo

# Las variables ya están definidas para ti
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false

# TODO: Escribe tu código a continuación
# Usa sentencias unless para comprobar cada condición e imprimir el mensaje correspondiente
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

Practica por tu cuenta: Compilador de Ruby online