abstract struct Monads::Maybe(T)
- Monads::Maybe(T)
- Monads::Monad(T)
- Monads::Functor(T)
- Struct
- Value
- Object
Included Modules
- Comparable(Monads::Maybe(T))
Direct Known Subclasses
Defined in:
monads/maybe.crConstructors
Class Method Summary
Instance Method Summary
-
#<=>(other : Nothing)
The comparison operator.
-
#<=>(other : Just)
The comparison operator.
- #inspect(io)
- #just?
- #map_or(default : U, lambda : T -> U) forall U
- #map_or(default : U, &block : T -> U) forall U
- #nothing?
- #or(default : Maybe)
- #or(lambda : -> _)
- #or(&block : -> U) forall U
-
#to_s
Returns a nicely readable and concise string representation of this object, typically intended for users.
- #value_or(default : U) forall U
- #value_or(&block : E -> U) forall U
Instance methods inherited from struct Monads::Monad(T)
>>(other : Monad(U)) forall U
>>,
|(other : _ -> Monad(U)) forall U
|,
bind(lambda : T -> Monad(U)) forall Ubind(&block : T -> Monad(U)) forall U bind
Constructor methods inherited from struct Monads::Monad(T)
new
new,
return(v : T) : self
return
Instance methods inherited from struct Monads::Functor(T)
fmap(lambda : T -> U)fmap(&block : T -> U) forall U fmap, initialize initialize
Constructor methods inherited from struct Monads::Functor(T)
new
new
Constructor Detail
Class Method Detail
Instance Method Detail
The comparison operator. Returns 0
if the two objects are equal,
a negative number if this object is considered less than other,
a positive number if this object is considered greater than other,
or nil
if the two objects are not comparable.
Subclasses define this method to provide class-specific ordering.
The comparison operator is usually used to sort values:
# Sort in a descending way:
[3, 1, 2].sort { |x, y| y <=> x } # => [3, 2, 1]
# Sort in an ascending way:
[3, 1, 2].sort { |x, y| x <=> y } # => [1, 2, 3]
The comparison operator. Returns 0
if the two objects are equal,
a negative number if this object is considered less than other,
a positive number if this object is considered greater than other,
or nil
if the two objects are not comparable.
Subclasses define this method to provide class-specific ordering.
The comparison operator is usually used to sort values:
# Sort in a descending way:
[3, 1, 2].sort { |x, y| y <=> x } # => [3, 2, 1]
# Sort in an ascending way:
[3, 1, 2].sort { |x, y| x <=> y } # => [1, 2, 3]
Returns a nicely readable and concise string representation of this object, typically intended for users.
This method should usually not be overridden. It delegates to
#to_s(IO)
which can be overridden for custom implementations.
Also see #inspect
.