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.
Desafio
FácilVocê recebeu as seguintes variáveis:
a = true
b = false
c = trueUse os operadores lógicos baseados em palavras (and, or, not) para avaliar e exibir as seguintes expressões, cada uma em uma linha separada:
a and ba or bnot ba and cb or cnot 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 # falseA 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 separadaEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operadores Lógicos Parte 47Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada do Usuário10FizzBuzz com um Toque Especial
Visão Geral do JogoO Método FizzBuzz2Variáveis e Tipos de Dados
Números e VariáveisTipo de Dado StringTipo de Dado BooleanTipo de Dado SymbolVerificando Tipos de DadosConvenções de NomenclaturaRecapitulação - Criação de Variáveis5Tomada de Decisão
Instrução IfIf - ElseRecapitulação - Calculadora SimplesIf - Else AninhadoInstrução Unless8Laços de Repetição
Loop For com IntervalosLoop WhileBreakNextRecapitulação - FatorialLoop TimesLoop UntilLoops AninhadosRecapitulação - Entrada Dinâmica3Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosRecapitulação - Matemática SimplesOperadores de Comparação6IO Básico
Saída com putsSaída com print e pSaída com VariáveisEntrada com getsMétodo chompConversão de TiposRecapitulação - Calculadora de IdadeRecapitulação - Verdadeiro ou Falso9Métodos
Definindo um MétodoParâmetros de MétodoValores de RetornoRecapitulação - Método SigmaRecapitulação - Método de ValidaçãoValores de Parâmetro Padrão15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa