El Operador 'or'
Parte de la sección Fundamentals del Journey de Lua de Coddy — lección 21 de 90.
El operador lógico <strong>or</strong> funciona de manera diferente. Devuelve true si al menos una de las condiciones es true, lo que lo hace perfecto para situaciones en las que tienes múltiples formas de satisfacer un requisito.
Así es como funciona el operador or:
hasKey = true
hasPass = false
canOpenDoor = hasKey or hasPass
-- canOpenDoor es true porque al menos una condición es verdaderaEl operador or sigue esta sencilla regla: si la primera condición es true, la expresión completa se vuelve true sin comprobar la segunda condición. Solo cuando ambas condiciones son false el resultado se vuelve false.
playerGold = 50
playerLevel = 15
requiredGold = 100
requiredLevel = 20
canEnterZone = playerGold >= requiredGold or playerLevel >= requiredLevel
-- canEnterZone es false porque ambas condiciones son falsas (50 < 100 Y 15 < 20)Desafío
FácilComprueba si un jugador puede acceder a un área secreta verificando si tiene una llave especial o un nivel de autorización lo suficientemente alto. Crea una variable llamada hasSpecialKey y asígnale el valor false. Crea una variable llamada clearanceLevel y asígnale el valor 7. Crea otra variable llamada requiredClearance y asígnale el valor 5. Usa el operador or para comprobar si el jugador tiene la llave especial o cumple con el requisito de autorización, almacenando el resultado en una variable llamada canAccessArea. Imprime el resultado booleano.
Hoja de referencia
El operador lógico or devuelve true si al menos una de las condiciones es true:
hasKey = true
hasPass = false
canOpenDoor = hasKey or hasPass
-- canOpenDoor es true porque al menos una condición es trueEl operador or devuelve true si la primera condición es true sin comprobar la segunda condición. Solo cuando ambas condiciones son false el resultado pasa a ser false:
playerGold = 50
playerLevel = 15
requiredGold = 100
requiredLevel = 20
canEnterZone = playerGold >= requiredGold or playerLevel >= requiredLevel
-- canEnterZone es false porque ambas condiciones son falsePruébalo tú mismo
-- Crear variables según lo especificado en el desafío
-- TODO: Escribe tu código aquí
-- Imprimir el resultado
print(canAccessArea)Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Operadores 2 Relacionales y Lógicos
Operadores de IgualdadOperadores RelacionalesEl Operador 'and'El Operador 'or'El Operador 'not'Evaluación de CortocircuitoValores Truthy y FalsyResumen - Lógica Simple7Lógica condicional básica
La sentencia if-thenLa sentencia if-then-elseLa sentencia elseifResumen - Cofre del tesoro10Tablas Parte 1: Estilo de lista
¿Qué es una tabla?Crear una tablaAcceder a elementos por índiceModificar elementos por índiceEl operador de longitud '#'table.insert()table.remove()Resumen - Gestionar miembros del grupo13Proyecto: Tienda de pociones sencilla
Configuración del proyectoAñadir una poción2Variables y tipos de datos
¿Qué es una variable?NúmerosStringsBooleanosEl valor 'nil'La función type()Convenciones de nomenclaturaResumen - Perfil de personaje5Salida básica
Imprimir literalesImprimir variablesImprimir múltiples valoresCombinar cadenas y variablesLa función tostring()EntradaConversión de tipos (Cast)Resumen - Informe de estadoResumen - Hasta 1208Fundamentos de manipulación de strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Repaso - Formatear nombre de usuario3Operadores 1: Aritmética y Concatenación
Operadores aritméticosOperador de móduloOperador de exponenciaciónConcatenación de stringsPrecedencia de operadoresResumen: Cálculos sencillos6Proyecto: Mostrar estadísticas del personaje
Mensaje de bienvenidaDeclarar estadísticas del personaje9Fundamentos de las funciones
Declarar una funciónLlamar a una funciónFunciones con parámetrosFunciones con múltiples parámetrosLa sentencia 'return'Repaso - Calculadora de área