Menu
Coddy logo textTech

Operadores Lógicos Parte 3

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

O Ruby também fornece alternativas baseadas em palavras para operadores lógicos: and, or e not. Estes funcionam de forma semelhante a &&, || e !, mas com uma diferença importante: eles têm precedência menor.

true and false   # false (o mesmo que &&)
true or false    # true (o mesmo que ||)
not true         # false (o mesmo que !)

A precedência menor significa que esses operadores são avaliados após a atribuição. Isso pode levar a comportamentos inesperados:

result = true && false   # result é false
result = true and false  # result é true!

No segundo exemplo, a atribuição acontece primeiro (result = true), então and false é avaliado, mas seu resultado é descartado. É por isso que a maioria dos desenvolvedores Ruby prefere &&, || e ! para condições.

As versões em palavras são tipicamente reservadas para situações de fluxo de controle, que você encontrará mais tarde. Por enquanto, utilize os operadores de símbolo (&&, ||, !) ao escrever condições para evitar surpresas.

challenge icon

Desafio

Fácil

Você recebeu as seguintes variáveis:

a = true
b = false
c = true

Use os operadores lógicos baseados em palavras (and, or, not) para avaliar e exibir as seguintes expressões, cada uma em uma linha separada:

  1. a and b
  2. a or b
  3. not b
  4. a and c
  5. b or c
  6. not a

Cada saída deve ser true ou false.

Folha de consulta

O Ruby fornece alternativas baseadas em palavras para operadores lógicos: and, or e not. Eles funcionam de forma semelhante a &&, || e !, mas com precedência menor.

true and false   # false
true or false    # true
not true         # false

A precedência menor significa que esses operadores são avaliados após a atribuição, o que pode levar a comportamentos inesperados:

result = true && false   # result é false
result = true and false  # result é true!

No segundo exemplo, a atribuição acontece primeiro (result = true), então and false é avaliado, mas seu resultado é descartado.

A maioria dos desenvolvedores Ruby prefere &&, || e ! para condições para evitar surpresas. As versões em palavras são normalmente reservadas para situações de fluxo de controle.

Experimente você mesmo

# As variáveis são fornecidas para você
a = true
b = false
c = true

# TODO: Escreva seu código abaixo
# Use os operadores lógicos baseados em palavras (and, or, not) para avaliar e imprimir cada expressão
# Cada resultado deve ser impresso em uma linha separada
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