Loop Until
Parte da seção Fundamentos do Journey de Ruby da Coddy. Lição 45 de 88.
O loop until é o oposto do loop while. Em vez de executar enquanto uma condição for verdadeira, ele executa até que uma condição se torne verdadeira. Pense nele como "continue até que isso aconteça".
count = 1
until count > 3
puts count
count += 1
endIsso exibe 1, 2, 3. O loop continua enquanto count > 3 for falso. Assim que count se torna 4, a condição é verdadeira e o loop para.
Compare isso ao laço while equivalente:
# Esses dois loops fazem a mesma coisa:
while count <= 3 # executa enquanto isto for TRUE
until count > 3 # executa até que isto seja TRUEO loop until pode deixar seu código mais legível quando você está esperando algo acontecer. Aqui está um exemplo de contagem regressiva:
num = 5
until num == 0
puts num
num -= 1
end
puts "Liftoff!"Isso faz uma contagem regressiva de 5 até 1 e, em seguida, imprime "Liftoff!" quando num atinge 0. Escolha until quando isso deixar sua intenção mais clara, especialmente quando você estiver esperando que uma condição específica ocorra.
Desafio
FácilLeia um número n da entrada. Use um loop until para imprimir todos os numbers de 1 até n, cada um em sua própria linha. After alcançar n, imprima Done! em uma nova linha.
O loop should continue até que o counter ultrapasse n (exceeds n).
A entrada será um único número inteiro representando o target number.
Por exemplo, se a entrada for 4, a saída deve ser:
1
2
3
4
Done!Se a entrada for 6, a saída deve ser:
1
2
3
4
5
6
Done!Experimente você mesmo
# Leia o número alvo
n = gets.to_i
# Inicialize o contador
counter = 1
# TODO: Escreva seu código abaixo
# Use um loop until para imprimir os números de 1 a n
# O loop deve continuar até que counter exceda n
# Imprima o texto exato das instruções após o loop
puts "Done!"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
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