Instrução Unless
Parte da seção Fundamentos do Journey de Ruby da Coddy. Lição 25 de 88.
Ruby oferece uma maneira única de expressar condições quando você quer executar código somente se algo não for verdadeiro. A instrução unless é essencialmente o oposto de if.
Com if, o código é executado quando a condição é verdadeira. Com unless, o código é executado quando a condição é falsa:
logged_in = false
unless logged_in
puts "Please log in to continue"
endIsso equivale a escrever if !logged_in, mas unless muitas vezes soa mais natural. Pense nisso como “faça isso a menos que essa condição seja verdadeira”.
Você também pode usar unless com else:
age = 20
unless age < 18
puts "Access granted"
else
puts "Access denied"
endNo entanto, quando você precisa de um bloco else, geralmente fica mais claro usar if. A instrução unless é ideal quando você tem uma condição negativa simples, sem um caminho alternativo. Escolha a opção que torna seu código mais fácil de entender rapidamente.
Desafio
FácilVocê recebeu as seguintes variáveis:
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = falseUse instruções unless para avaliar cada cenário abaixo. Imprima a mensagem especificada somente quando a condição for falsa (que é quando unless executa seu bloco).
- A menos que
has_ticketsejatrue, imprimaPlease purchase a ticket - A menos que
is_vipsejatrue, imprimaVIP access required - A menos que
items_in_cartseja maior que0, imprimaYour cart is empty - A menos que
battery_levelseja maior que20, imprimaLow battery warning - A menos que
is_chargingsejatrueoubattery_levelseja maior que50, imprimaPlease charge your device
Cada mensagem deve aparecer em sua própria linha. Imprima somente as mensagens das condições que acionam o bloco unless.
Experimente você mesmo
# As variáveis já estão definidas para você
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false
# TODO: Escreva seu código abaixo
# Use instruções unless para verificar cada condição e exibir a mensagem apropriadaEsta 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 ProgramaPratique por conta própria: Compilador de Ruby online