Menu
Coddy logo textTech

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) && true

Puedes 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.

challenge icon

Desafío

Fácil

Se te proporcionan las siguientes variables:

x = true
y = false
z = true
a = false

Evalú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 ||.

  1. x || y && z
  2. !y && z
  3. x && y || z
  4. !a || y && z
  5. x && !y && z
  6. (x || y) && a
  7. x || (y && a)
  8. !(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:

  1. ! (not) - precedencia más alta
  2. && (and) - precedencia media
  3. || (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) && true

Usa 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í
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