Menu
Coddy logo textTech

Operadores Lógicos Parte 4

Parte da seção Fundamentos do Journey de Ruby da Coddy — lição 20 de 88.

Quando você combina múltiplos operadores lógicos em uma única expressão, o Ruby os avalia em uma ordem específica baseada na precedência de operadores. Entender essa ordem ajuda você a escrever condições corretas e evitar resultados inesperados.

A precedência da maior para a menor é: ! (não), depois && (e) e, em seguida, || (ou). Isso significa que ! é avaliado primeiro, seguido por && e, finalmente, ||:

true || false && false   # true (&& avalia primeiro)
# O mesmo que: true || (false && false)

!false && true           # true (! avalia primeiro)
# O mesmo que: (!false) && true

Você pode usar parênteses para substituir a precedência padrão e tornar suas intenções claras:

(true || false) && false  # false (parênteses forçam || primeiro)
true || (false && false)  # true (comportamento padrão)

Mesmo quando os parênteses não são estritamente necessários, adicioná-los muitas vezes torna as expressões complexas mais fáceis de ler. Em caso de dúvida, use parênteses para mostrar explicitamente como as condições devem ser agrupadas.

challenge icon

Desafio

Fácil

Você recebeu as seguintes variáveis:

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

Avalie as seguintes expressões e exiba cada resultado em uma linha separada. Preste atenção à precedência dos operadores: ! é avaliado primeiro, depois && e, por fim, ||.

  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 saída deve ser true ou false.

Folha de consulta

O Ruby avalia operadores lógicos em uma ordem específica baseada na precedência de operadores:

  1. ! (not) - precedência mais alta
  2. && (and) - precedência média
  3. || (or) - precedência mais baixa

Exemplos de precedência de operadores:

true || false && false   # true (&& avalia primeiro)
# O mesmo que: true || (false && false)

!false && true           # true (! avalia primeiro)
# O mesmo que: (!false) && true

Use parênteses para substituir a precedência padrão ou melhorar a legibilidade:

(true || false) && false  # false (parênteses forçam || primeiro)
true || (false && false)  # true (comportamento padrão)

Experimente você mesmo

# As variáveis já estão definidas para você
x = true
y = false
z = true
a = false

# TODO: Avalie cada expressão e imprima o resultado em uma linha separada
# Lembre-se da precedência dos operadores: ! primeiro, depois &&, depois ||

# 1. x || y && z
puts # sua expressão aqui

# 2. !y && z
puts # sua expressão aqui

# 3. x && y || z
puts # sua expressão aqui

# 4. !a || y && z
puts # sua expressão aqui

# 5. x && !y && z
puts # sua expressão aqui

# 6. (x || y) && a
puts # sua expressão aqui

# 7. x || (y && a)
puts # sua expressão aqui

# 8. !(x && y) || z
puts # sua expressão aqui
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos