Menu
CoddyTech

Operadores Lógicos Parte 3

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

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

true and false   # false (equivalente a &&)
true or false    # true (equivalente a ||)
not true         # false (equivalente a !)

A menor precedência significa que esses operadores são avaliados depois da atribuição. Isso pode levar a um comportamento inesperado:

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

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

O mesmo acontece com puts: puts true and false imprime true, porque puts true é executado primeiro. Para imprimir o resultado de um operador por palavra, envolva a expressão em seus próprios parênteses: puts((true and false)) imprime false.

As versões em palavras geralmente são reservadas para situações de fluxo de controle, que você encontrará mais adiante. Por enquanto, use os operadores simbólicos (&&, ||, !) ao escrever condições para evitar surpresas.

challenge icon

Desafio

Fácil

Você recebe 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

Coloque cada expressão entre parênteses próprios ao imprimi-la, por exemplo, puts((true and false)).

Cada saída deve ser true ou false.

Experimente você mesmo

# As variáveis já foram fornecidas para você
a = true
b = false
c = true

# TODO: Escreva seu código abaixo
# Use os operadores lógicos escritos por extenso (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

Pratique por conta própria: Compilador de Ruby online