gleam/option

Types

Option

Option represents a value that may be present or not. Some means the value is present, None means the value is not.

This is Gleam's alternative to having a value that could be Null, as is possible in some other languages.

pub type Option(a) {
  Some(a)
  None
}

Constructors

  • Some(a)
  • None

Functions

from_result

pub fn from_result(result: Result(a, b)) -> Option(a)

Converts a Result type to an Option type

Examples

> from_result(Ok(1))
Some(1)
> from_result(Error"some_error"))
None

is_none

pub fn is_none(option: Option(a)) -> Bool

Check whether the option is a None value.

Examples

> is_none(Some(1))
False

> is_none(None)
True

is_some

pub fn is_some(option: Option(a)) -> Bool

Check whether the option is a Some value.

Examples

> is_some(Some(1))
True

> is_some(None)
False

to_result

pub fn to_result(option: Option(a), e: b) -> Result(a, b)

Converts an Option type to a Result type

Examples

> to_result(Some(1), "some_error")
Ok(1)
> to_result(None, "some_error")
Error("some_error")

unwrap

pub fn unwrap(option: Option(a), or default: a) -> a

Extract the value from an option, returning a default value if there is none.

Examples

> unwrap(Some(1), 0)
1

> unwrap(None, 0)
0