This repository has been archived on 2025-08-04. You can view files and clone it, but cannot push or open issues or pull requests.
rhaj/_archive/rhai_engine/rhaibook/ref/while.md
2025-04-04 08:28:07 +02:00

1.0 KiB

While Loop

while loops follow C syntax.

continue can be used to skip to the next iteration, by-passing all following statements; break can be used to break out of the loop unconditionally.

let x = 10;

while x > 0 {
    x -= 1;
    if x < 6 { continue; }  // skip to the next iteration
    print(x);
    if x == 5 { break; }    // break out of while loop
}

While Expression

while statements can also be used as expressions.

The break statement takes an optional expression that provides the return value.

The default return value of a while expression is ().

let x = 0;

// 'while' can be used just like an expression
let result = while x < 100 {
    if is_magic_number(x) {
        // if the 'while' loop breaks here, return a specific value
        break get_magic_result(x);
    }

    x += 1;

    // ... if the 'while' loop exits here, the return value is ()
};

if result == () {
    print("Magic number not found!");
} else {
    print(`Magic result = ${result}!`);
}