f66c5e7f18256514d31038785054a9a129a47e23
op
Generic, exception-free return values.
OP stands for "Operation Result".
This module contains a generic type that can be used as a return type for operations that could fail. It adds additional messages to the result. This improves upon the options module in that additional messages can be passed along with the presence or absence of a value.
Basic Usage
import op
proc divide(a, b: int): OP[float] =
## This could fail
if b == 0:
return fail "Cannot divide by zero!"
else:
return ok a / b # Wrap the result
let r = divide(42, 0)
assert r.isOk == false
assert r.error == "Cannot divide by zero!"
Description
Languages
Nim
100%