107 / Fundamentos

continue en for

continue dentro de un for ... in salta al siguiente elemento, igual que ya hacía dentro de un while. Esta receta lo muestra en las dos formas de for: recorriendo un Array y recorriendo un rango.

107-for-continue.nxFuente →
// `continue` dentro de un `for ... in` — sobre un array y sobre un rango —
// salta al siguiente elemento, igual que en `while`.

fn main() -> int {
    // for sobre un ARRAY
    let numeros: Array = [1, 2, 3, 4, 5, 6]
    for n: int in numeros {
        if n % 2 == 0 {
            continue
        }
        print("impar: " + int_to_string(n))
    }

    // for sobre un RANGO
    for i in 0..6 {
        if i == 3 {
            continue
        }
        print("i = " + int_to_string(i))
    }

    return 0
}
Salidastdout
impar: 1
impar: 3
impar: 5
i = 0
i = 1
i = 2
i = 4
i = 5

Cómo funciona

El primer bucle recorre numeros con for n: int in numeros. Cuando n es par, continue corta esa vuelta sin ejecutar el print que sigue, así que solo se imprimen los impares.

El segundo bucle hace lo mismo sobre un rango, for i in 0..6: cuando i vale 3, continue salta esa iteración puntual y sigue con 4 — el rango no se corta, solo se omite ese valor.