Nyx con Ejemplos

Control Flow

Nyx ofrece el conjunto estándar de construcciones de control de flujo: ramas condicionales con if/else if/else, bucles de contador con while, e iteración con for sobre rangos y colecciones. El control de bucles usa break y continue.

Código

// Control de flujo: if/else, while, for con range, break y continue

fn main() -> int {
    // if / else if / else
    let x: int = 7
    if x > 10 {
        print("mayor que 10")
    } else if x > 5 {
        print("entre 5 y 10")
    } else {
        print("5 o menos")
    }

    // while que cuenta del 1 al 5
    var i: int = 1
    while i <= 5 {
        print("while: " + int_to_string(i))
        i = i + 1
    }

    // for con range (0..5 excluye el 5)
    for n in 0..5 {
        print("range: " + int_to_string(n))
    }

    // for con array
    let colores: Array = ["rojo", "verde", "azul"]
    for c in colores {
        print("color: " + c)
    }

    // break y continue
    var k: int = 0
    while k < 10 {
        k = k + 1
        if k == 3 {
            continue
        }
        if k == 6 {
            break
        }
        print("k = " + int_to_string(k))
    }

    return 0
}

Salida

entre 5 y 10
while: 1
while: 2
while: 3
while: 4
while: 5
range: 0
range: 1
range: 2
range: 3
range: 4
color: rojo
color: verde
color: azul
k = 1
k = 2
k = 4
k = 5

Explicación

La sentencia if evalúa una condición booleana sin paréntesis. Se pueden encadenar condiciones con else if y proveer un caso alternativo con else. Todos los cuerpos de las ramas deben ir entre llaves — no hay atajos de una sola línea.

El bucle while ejecuta su cuerpo mientras la condición sea verdadera. Como Nyx no tiene una forma incorporada for (int i = 0; i < n; i++), while cumple ese rol cuando se necesita un contador manual.

La forma for x in start..end itera sobre un rango semiabierto: 0..5 produce 0, 1, 2, 3, 4 (el 5 queda excluido). La forma for x in collection itera sobre cualquier array o valor iterable.

continue salta el resto de la iteración actual del bucle y pasa a la siguiente. break sale del bucle de inmediato. En el ejemplo, k = 3 se salta con continue, y el bucle se detiene cuando k llega a 6.

← Anterior Siguiente →

Source: examples/by-example/04-control-flow.nx