Loops como expresiones

Al igual que return, break acepta un valor. Esto se puede usar para producir un valor desde un bucle. Los bucles en Zig también tienen una rama else, que se evalúa cuando el bucle no se sale con un break.

fn rangeHasNumber(begin: usize, end: usize, number: usize) bool {
    var i = begin;
    return while (i < end) : (i += 1) {
        if (i == number) {
            break true;
        }
    } else false;
}

test "while loop expression" {
    try expect(rangeHasNumber(0, 10, 3));
}
Edita esta pagina Última actualización: 5/15/2024 por Vital