Next (Continue)
Parte da seção Fundamentos do Journey de R da Coddy — lição 41 de 78.
Enquanto o break encerra um loop completamente, às vezes você quer apenas pular a iteração atual e continuar com a próxima. A instrução next faz exatamente isso.
for (i in 1:5) {
if (i == 3) {
next
}
print(i)
}Saída:
[1] 1
[1] 2
[1] 4
[1] 5Quando i é igual a 3, a instrução next pula o restante dessa iteração, então o 3 nunca é impresso. O loop então continua com 4 e 5 normalmente.
Isso é útil quando você deseja filtrar certos valores sem interromper todo o loop. Por exemplo, imprimindo apenas números pares:
for (num in 1:6) {
if (num %% 2 != 0) {
next
}
print(num)
}Saída:
[1] 2
[1] 4
[1] 6Aqui, os números ímpares são ignorados usando next, e apenas os números pares são impressos. A principal diferença em relação ao break é que o loop continua em execução - ele apenas pula iterações específicas.
Desafio
FácilLeia um número n da entrada. Use um loop for para iterar de 1 a n e imprima apenas os números que não são divisíveis por 4.
Use a instrução next para pular números que são divisíveis por 4 e imprima todos os outros números usando print().
Por exemplo, se a entrada for 10, a saída deve ser:
[1] 1
[1] 2
[1] 3
[1] 5
[1] 6
[1] 7
[1] 9
[1] 10Observe que 4 e 8 são ignorados porque são divisíveis por 4.
Folha de consulta
A instrução next pula a iteração atual de um loop e continua com a próxima:
for (i in 1:5) {
if (i == 3) {
next
}
print(i)
}Saída:
[1] 1
[1] 2
[1] 4
[1] 5Quando i é igual a 3, o next pula o restante daquela iteração, então o 3 nunca é impresso. O loop continua com os valores restantes.
Exemplo - imprimindo apenas números pares:
for (num in 1:6) {
if (num %% 2 != 0) {
next
}
print(num)
}Saída:
[1] 2
[1] 4
[1] 6Diferente do break, que sai do loop inteiramente, o next apenas pula iterações específicas enquanto o loop continua em execução.
Experimente você mesmo
# Ler a entrada
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# TODO: Escreva seu código abaixo
# Use um loop for para iterar de 1 a n
# Use a instrução next para pular números divisíveis por 4
# Imprima todos os outros números usando print()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 (AND, OR)Operadores Lógicos Parte 2 (NOT)Recapitulação - Lógica SimplesLógica Vetorizada Parte 1Lógica Vetorizada Parte 27Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo a Entrada do Usuário10FizzBuzz com um Toque Especial
Visão Geral do JogoA Função FizzBuzz2Variáveis e Tipos de Dados
Tipo de Dado NuméricoTipo de Dado InteiroTipo de Dado CaractereTipo de Dado LógicoVerificando Tipos de DadosConvenções de NomenclaturaValores Ausentes: NARecapitulação - Criação de Variáveis8Laços de Repetição
Laço ForLaço WhileBreakNext (Continue)Recapitulação - FatorialGeração de Sequências (seq, :)Laços AninhadosRecapitulação - Entrada Dinâmica3Operadores Parte 1
Operadores AritméticosDivisão Inteira e MóduloOperadores de AtribuiçãoRecapitulação - Matemática SimplesOperadores de Comparação6IO Básico
Saída com PrintCat para SaídaSaída com VariáveisLendo Entrada com readline()Básico de Conversão de TiposRecapitulação - Calculadora de IdadeRecapitulação - Verdadeiro ou Falso9Funções
Declarando uma FunçãoArgumentos de FunçãoValores de RetornoRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores de Parâmetro Padrão