Operadores lógicos Parte 4
Parte de la sección Fundamentos del Journey de Ruby de Coddy — lección 20 de 88.
Cuando combinas múltiples operadores lógicos en una sola expresión, Ruby los evalúa en un orden específico basado en la precedencia de operadores. Comprender este orden te ayuda a escribir condiciones correctas y a evitar resultados inesperados.
La precedencia de mayor a menor es: ! (no), luego && (y), y después || (o). Esto significa que ! se evalúa primero, seguido de && y finalmente ||:
true || false && false # true (&& se evalúa primero)
# Lo mismo que: true || (false && false)
!false && true # true (! se evalúa primero)
# Lo mismo que: (!false) && truePuedes usar paréntesis para anular la precedencia predeterminada y dejar claras tus intenciones:
(true || false) && false # false (los paréntesis fuerzan || primero)
true || (false && false) # true (comportamiento predeterminado)Incluso cuando los paréntesis no son estrictamente necesarios, añadirlos a menudo hace que las expresiones complejas sean más fáciles de leer. En caso de duda, utiliza paréntesis para mostrar explícitamente cómo deben agruparse las condiciones.
Desafío
FácilSe te proporcionan las siguientes variables:
x = true
y = false
z = true
a = falseEvalúa las siguientes expresiones y muestra cada resultado en una línea separada. Presta atención a la precedencia de los operadores: ! se evalúa primero, luego && y finalmente ||.
x || y && z!y && zx && y || z!a || y && zx && !y && z(x || y) && ax || (y && a)!(x && y) || z
Cada salida debe ser true o false.
Hoja de referencia
Ruby evalúa los operadores lógicos en un orden específico basado en la precedencia de operadores:
!(not) - precedencia más alta&&(and) - precedencia media||(or) - precedencia más baja
Ejemplos de precedencia de operadores:
true || false && false # true (&& se evalúa primero)
# Lo mismo que: true || (false && false)
!false && true # true (! se evalúa primero)
# Lo mismo que: (!false) && trueUsa paréntesis para anular la precedencia predeterminada o mejorar la legibilidad:
(true || false) && false # false (los paréntesis fuerzan || primero)
true || (false && false) # true (comportamiento predeterminado)Pruébalo tú mismo
# Las variables ya están definidas para ti
x = true
y = false
z = true
a = false
# TODO: Evalúa cada expresión e imprime el resultado en una línea separada
# Recuerda la precedencia de operadores: ! primero, luego &&, después ||
# 1. x || y && z
puts # tu expresión aquí
# 2. !y && z
puts # tu expresión aquí
# 3. x && y || z
puts # tu expresión aquí
# 4. !a || y && z
puts # tu expresión aquí
# 5. x && !y && z
puts # tu expresión aquí
# 6. (x || y) && a
puts # tu expresión aquí
# 7. x || (y && a)
puts # tu expresión aquí
# 8. !(x && y) || z
puts # tu expresión aquíEsta 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 falso