Break
Parte da seção Fundamentos do Journey de Ruby da Coddy — lição 41 de 88.
Às vezes, você precisa sair de um loop antecipadamente, antes que ele termine naturalmente. A palavra-chave break permite que você pare um loop imediatamente e continue com o código após ele.
Imagine procurar por um número específico. Assim que você o encontrar, não há motivo para continuar verificando o restante:
for i in 1..10
if i == 5
puts "Found it!"
break
end
puts i
end
puts "Loop ended"Isso exibe 1, 2, 3, 4, depois "Found it!", e finalmente "Loop ended". Quando i atinge 5, o break é executado e o loop para imediatamente. Os números de 6 a 10 nunca são processados.
A palavra-chave break funciona com qualquer tipo de loop. Aqui está um exemplo com um loop while:
count = 0
while true
count += 1
if count > 3
break
end
puts count
endIsso exibe 1, 2, 3. Embora a condição seja true (que normalmente faria o loop rodar para sempre), o break interrompe o loop quando count excede 3.
Desafio
FácilLeia dois números inteiros da entrada:
- Um
limitrepresentando o limite superior de um intervalo começando em 1 - Um número
targetpara procurar
Percorra os números de 1 até limit. Imprima cada número em sua própria linha. Quando você atingir o target, imprima Found! em vez do número e pare imediatamente o loop usando break.
Se o target estiver dentro do intervalo, o loop deve parar mais cedo. Se o target for maior que o limit, todos os números de 1 até o limit serão impressos.
Por exemplo, se as entradas forem 10 e 4, a saída deve ser:
1
2
3
Found!Se as entradas forem 5 e 8, a saída deve ser:
1
2
3
4
5Folha de consulta
A palavra-chave break interrompe imediatamente um loop e continua com o código após ele:
for i in 1..10
if i == 5
puts "Found it!"
break
end
puts i
end
puts "Loop ended"Isso exibe 1, 2, 3, 4, "Found it!", "Loop ended". Quando i chega a 5, o loop para imediatamente.
A palavra-chave break funciona com qualquer tipo de loop, incluindo loops while:
count = 0
while true
count += 1
if count > 3
break
end
puts count
endIsso exibe 1, 2, 3 e então para, embora a condição seja true.
Experimente você mesmo
# Ler entrada
limit = gets.to_i
target = gets.to_i
# TODO: Escreva seu código abaixo
# Percorrer números de 1 até o limite
# Imprimir cada número em sua própria linha
# Quando atingir o alvo, imprimir "Found!" e sair do loopEsta 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