SplitScript reference / Language / else

else

keyword

value else fallback

Provides a branch or unwrap fallback.

After if, else selects the alternate branch. After a T? or T! expression, it unwraps success or evaluates its right operand on absence or error. That operand is any ordinary expression; return, break, continue, and throw work naturally because each has type Never. Chained fallbacks associate to the right.

Examples

Provide a read fallback

let health = process.read<i32>(healthAddress) else 0

Retry either of two module names

let engine = retry {
    let module = process.loadedModule("EngineWin64s.dll")
        else process.loadedModule("EngineWin64sv.dll")
        else throw "engine module is not loaded yet"
    module
}