9.4 break y next
break
y next
son palabras reservadas en R, no podemos asignarles nuevos valores y realizan una operación específica cuando aparecen en nuestro código.
break
nos permite interrumpir un bucle, mientras que next
nos deja avanzar a la siguiente iteración del bucle, “saltándose” la actual. Ambas funcionan para for
y while
.
9.4.1 Usando break
Para interrumpir un bucle con break
, necesitamos que se cumpla una condición. Cuando esto ocurre, el bucle se detiene, aunque existan elementos a los cuales aún podría aplicarse.
Interrumpimos un for
cuando i
es igual a 3, aunque aún queden 7 elementos en el objeto.
for(i in 1:10) {
if(i == 3) {
break
}
print(i)
}
## [1] 1
## [1] 2
Interrumpimos un while
antes de se cumpla la condición de que numero
sea mayor a 5, en cuanto este tiene el valor de 15.
numero <- 20
while(numero > 5) {
if(numero == 15) {
break
}
numero <- numero - 1
}
numero
## [1] 15
Como habrás notado, la aplicación de break
es muy similar a while
, realizar una operación hasta que se cumple una condición, y ambos pueden usarse en conjunto.
9.4.2 Usando next
Por su parte, usamos next para “saltarnos” una iteración en un bucle. Cuando la condición se cumple, esa iteración es omitida.
for(i in 1:4) {
if(i == 3) {
next
}
print(i)
}
## [1] 1
## [1] 2
## [1] 4
Estas dos estructuras de control nos dan un control fino sobre nuestro código. aunque los dos ejemplos de arriba son con for, también funcionan con while y repeat.
En realidad, break es indispensable para repeat.