Next (Continue)
Parte de la sección Fundamentos del Journey de R de Coddy — lección 41 de 78.
Mientras que break sale de un bucle por completo, a veces solo quieres saltar la iteración actual y continuar con la siguiente. La sentencia next hace exactamente eso.
for (i in 1:5) {
if (i == 3) {
next
}
print(i)
}Salida:
[1] 1
[1] 2
[1] 4
[1] 5Cuando i es igual a 3, la sentencia next omite el resto de esa iteración, por lo que el 3 nunca se imprime. Luego, el bucle continúa con 4 y 5 de forma normal.
Esto es útil cuando quieres filtrar ciertos valores sin detener el bucle completo. Por ejemplo, imprimir solo números pares:
for (num in 1:6) {
if (num %% 2 != 0) {
next
}
print(num)
}Salida:
[1] 2
[1] 4
[1] 6Aquí, los números impares se omiten usando next, y solo se imprimen los números pares. La diferencia clave con respecto a break es que el bucle sigue ejecutándose; simplemente omite iteraciones específicas.
Desafío
FácilLee un número n de la entrada. Usa un bucle for para iterar desde 1 hasta n e imprime solo los números que no sean divisibles por 4.
Usa la sentencia next para omitir los números que son divisibles por 4, e imprime todos los demás números usando print().
Por ejemplo, si la entrada es 10, la salida debería ser:
[1] 1
[1] 2
[1] 3
[1] 5
[1] 6
[1] 7
[1] 9
[1] 10Observa que 4 y 8 se omiten porque son divisibles por 4.
Hoja de referencia
La sentencia next omite la iteración actual de un bucle y continúa con la siguiente:
for (i in 1:5) {
if (i == 3) {
next
}
print(i)
}Salida:
[1] 1
[1] 2
[1] 4
[1] 5Cuando i es igual a 3, next omite el resto de esa iteración, por lo que el 3 nunca se imprime. El bucle continúa con los valores restantes.
Ejemplo - imprimir solo números pares:
for (num in 1:6) {
if (num %% 2 != 0) {
next
}
print(num)
}Salida:
[1] 2
[1] 4
[1] 6A diferencia de break, que sale del bucle por completo, next solo omite iteraciones específicas mientras el bucle continúa ejecutándose.
Pruébalo tú mismo
# Leer entrada
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# TODO: Escribe tu código a continuación
# Usa un bucle for para iterar de 1 a n
# Usa la sentencia next para omitir los números divisibles por 4
# Imprime todos los demás números usando print()Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos (AND, OR)Operadores lógicos Parte 2 (NOT)Resumen - Lógica simpleLógica vectorizada Parte 1Lógica vectorizada Parte 27Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario2Variables y tipos de datos
Tipo de dato numéricoTipo de dato enteroTipo de dato de caracteresTipo de dato lógicoComprobación de tipos de datosConvenciones de nomenclaturaValores faltantes: NAResumen - Creación de variables8Bucles
Bucle ForBucle WhileBreakNext (Continue)Repaso - FactorialGeneración de secuencias (seq, :)Bucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosDivisión entera y móduloOperadores de asignaciónRepaso - Matemáticas simplesOperadores de comparación6E/S básica
Imprimir salidaCat para salidaSalida con variablesLectura de entrada con readline()Conceptos básicos de conversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso9Funciones
Declarar una funciónArgumentos de una funciónValores de retornoRepaso - Función SigmaRepaso - Función de validaciónValores de parámetros por defecto