Result API Reference

Represents success or failure: Ok(i64) or Err(i64)

Import

U std/result

Enum

E Result {
    Ok(i64),
    Err(i64)
}

Methods

MethodSignatureDescription
is_okF is_ok(&self) -> i64Returns 1 if Ok
is_errF is_err(&self) -> i64Returns 1 if Err
unwrap_orF unwrap_or(&self, default: i64) -> i64Returns Ok value or default
mapF map(&self, f: i64) -> ResultMap the Ok value
err_orF err_or(&self, default: i64) -> i64Returns Err value or default

Helper Functions

FunctionSignatureDescription
okF ok(value: i64) -> ResultCreate Ok result
errF err(code: i64) -> ResultCreate Err result

Error Codes

ConstantValueMeaning
ERR_NONE0No error
ERR_INVALID1Invalid argument
ERR_NOT_FOUND2Not found
ERR_IO3I/O error
ERR_OVERFLOW4Overflow
ERR_DIVIDE_BY_ZERO5Division by zero

Usage

U std/result

F divide(a: i64, b: i64) -> Result {
    I b == 0 { Err(ERR_DIVIDE_BY_ZERO()) }
    E { Ok(a / b) }
}

F main() -> i64 {
    r := divide(10, 3)
    M r {
        Ok(v) => v,
        Err(e) => 0 - 1
    }
}