Menu
Coddy logo textTech

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 ser executado enquanto uma condição é verdadeira, ele é executado até que uma condição se torne verdadeira. Pense nisso como "continue até que isso aconteça".

count = 1
until count > 3
  puts count
  count += 1
end

Isso 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 com o loop while equivalente:

# Estes dois loops fazem a mesma coisa:
while count <= 3    # execute enquanto isso for TRUE
until count > 3     # execute até que isso seja TRUE

O loop until pode tornar seu código mais legível quando você está esperando que algo aconteça. 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 a 1, então imprime "Liftoff!" quando num atinge 0. Escolha until quando isso tornar sua intenção mais clara, especialmente quando você estiver esperando por uma condição específica ocorrer.

challenge icon

Desafio

Fácil

Leia um número n da entrada. Use um loop until para imprimir todos os números de 1 até n, cada um em sua própria linha. Após atingir n, imprima Done! em uma nova linha.

O loop deve continuar até que o contador exceda n.

A entrada será um único número inteiro representando o número alvo.

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!

Folha de consulta

O loop until executa até que uma condição se torne verdadeira (o oposto do while):

count = 1
until count > 3
  puts count
  count += 1
end
# Saídas: 1, 2, 3

Comparação com o loop while:

while count <= 3    # executa enquanto isso for TRUE
until count > 3     # executa até que isso seja TRUE

Exemplo de contagem regressiva:

num = 5
until num == 0
  puts num
  num -= 1
end
puts "Liftoff!"

Experimente você mesmo

# Lê o número alvo
n = gets.to_i

# Inicializa o contador
counter = 1

# TODO: Escreva seu código abaixo
# Use um loop until para imprimir números de 1 a n
# O loop deve continuar até que o contador exceda n


# Imprime "Done!" após o loop
puts "Done!"
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