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"
endEsto 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"
endSin 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.
Desafío
FácilSe te proporcionan las siguientes variables:
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = falseUsa 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).
- A menos que
has_ticketseatrue, imprimePlease purchase a ticket - A menos que
is_vipseatrue, imprimeVIP access required - A menos que
items_in_cartsea mayor que0, imprimeYour cart is empty - A menos que
battery_levelsea mayor que20, imprimeLow battery warning - A menos que
is_chargingseatrueobattery_levelsea mayor que50, imprimePlease 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 correspondienteEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operadores lógicos Parte 47Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario10FizzBuzz con un giro
Descripción general del juegoEl método FizzBuzz2Variables y tipos de datos
Números y variablesTipo de dato StringTipo de dato BooleanTipo de dato SymbolComprobación de tipos de datosConvenciones de nomenclaturaResumen: Creación de variables5Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleIf - Else anidadosSentencia Unless8Bucles
Bucle For con rangosBucle WhileBreakNextRepaso - FactorialBucle TimesBucle UntilBucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosResumen - Matemáticas simplesOperadores de comparación6Entrada y Salida Básica
Salida con putsSalida con print y pSalida con variablesEntrada con getsMétodo chompConversión de tiposResumen - Calculadora de edadResumen - Verdadero o falsoPractica por tu cuenta: Compilador de Ruby online