Enum Option

The Option type presents a way to hold either a value of A, or None, with None being valid for any Option. A common use for this is as a return type for functions that may fail, but have no meaningful error message.

enum Option[A]
{
    None,
    Some(A)
}

define and(other: Option[B]): Option[B]

If self is a Some, this returns other.

Otherwise, this returns None.

define and_then(fn: Function(A => Option[B])): Option[B]

If self is a Some, this calls fn with the value within the Some. The result is the result of the Option returned by fn.

Otherwise, this returns None.

define is_none: Boolean

If self is a Some, this returns false.

Otherwise, this returns true.

define is_some: Boolean

If self is a Some, this returns true.

Otherwise, this returns false.

define map(fn: Function(A => B)): Option[B]

If self is a Some, this returns a Some holding the result of fn.

Otherwise, this returns None.

define or(alternate: Option[A]): Option[A]

If self is a Some, this returns self.

Otherwise, this returns alternate.

define or_else(fn: Function( => Option[A])): Option[A]

If self is a Some, this returns self.

Otherwise, this returns the result of calling fn.

define unwrap: A

If self is a Some, this returns the value contained within.

define unwrap_or(alternate: A): A

If self is a Some, this returns the value with self.

Otherwise, this returns alternate.

define unwrap_or_else(fn: Function( => A)): A

If self is a Some, this returns the value with self.

Otherwise, this returns the result of calling fn.