A method that should be called from every welldesigned equals method that is open to be overridden in a subclass
This method is used to compare the receiver object (this
)
with the argument object (arg0
) for equivalence
This method is used to compare the receiver object (this
)
with the argument object (arg0
) for equivalence.
The default implementations of this method is an equivalence relation:
x
of type Any
,
x.equals(x)
should return true
.x
and y
of type
Any
, x.equals(y)
should return true
if and only
if y.equals(x)
returns true
.x
, y
, and z
of type AnyRef
if x.equals(y)
returns true
and
y.equals(z)
returns
true
, then x.equals(z)
should return true
.
If you override this method, you should verify that
your implementation remains an equivalence relation.
Additionally, when overriding this method it is often necessary to
override hashCode
to ensure that objects that are
"equal" (o1.equals(o2)
returns true
)
hash to the same Int
(o1.hashCode.equals(o2.hashCode)
).
the object to compare against this object for equality.
true
if the receiver object is equivalent to the argument; false
otherwise.
If the option is nonempty, p(value), otherwise false
If the option is nonempty and the given predicate p
yields false
on its value, return None
If the option is nonempty and the given predicate p
yields false
on its value, return None
.
Otherwise return the option value itself.
the predicate used for testing.
If the option is nonempty, return a function applied to its value
If the option is nonempty, return a function applied to its value. Otherwise return None.
the function to apply
Apply the given procedure f
to the option's value,
if it is nonempty
Apply the given procedure f
to the option's value,
if it is nonempty. Do nothing if it is empty.
the procedure to apply.
get the value of this option
If the option is nonempty return its value, otherwise return the result of evaluating a default expression
If the option is nonempty return its value, otherwise return the result of evaluating a default expression.
the default expression.
Returns a hash code value for the object
Returns a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash
codes (o1.hashCode.equals(o2.hashCode)
) yet not be
equal (o1.equals(o2)
returns false
). A
degenerate implementation could always return 0
.
However, it is required that if two objects are equal
(o1.equals(o2)
returns true
) that they
have identical hash codes
(o1.hashCode.equals(o2.hashCode)
). Therefore, when
overriding this method, be sure to verify that the behavior is
consistent with the equals
method.
True if the option is a Some
(
True if the option is a Some
(...) false otherwise.
True if the option is the None
value, false otherwise
An singleton iterator returning the option's value if it is nonempty or the empty iterator if the option is empty
An singleton iterator returning the option's value if it is nonempty or the empty iterator if the option is empty.
If the option is nonempty, return a function applied to its value, wrapped in a Some i
If the option is nonempty, return a function applied to its value,
wrapped in a Some i.e. Some(f(this.get))
.
Otherwise return None
.
the function to apply
If the option is nonempty return it, otherwise return the result of evaluating an alternative expression
If the option is nonempty return it, otherwise return the result of evaluating an alternative expression.
the alternative expression.
The option's value if it is nonempty, or null
if it is empty
The option's value if it is nonempty, or null
if it is empty.
The use of null of course is discouraged, but code written to use Options
often must interface with code which expects and returns nulls.
If the given partial function pf
is defined for the
option's value, apply it to the value
If the given partial function pf
is defined for the
option's value, apply it to the value. Otherwise, None.
the partial function.
return k for a product A(x_1,
return k for a product A(x_1,...,x_k)
attributes: abstract
definition classes: Product
Go to: companion
def
productElement(n: Int): Any
for a product A(x_1,
for a product A(x_1,...,x_k)
, returns x_(n+1)
for 0 <= n < k
 n
the index of the element to return
 returns
The element n
elements after the first element
attributes: abstract
definition classes: Product
Go to: companion
def
productElements: Iterator[Any]
def
productIterator: Iterator[Any]
An iterator that returns all fields of this product
def
productPrefix: String
By default the empty string
def
toLeft[X](right: ⇒ X): Product with Either[A, X]
An Either
that is a Right
with the given argument
right
if this is empty, or a Left
if this is nonempty with the
option's value
An Either
that is a Right
with the given argument
right
if this is empty, or a Left
if this is nonempty with the
option's value.
Go to: companion
def
toList: List[A]
A singleton list containing the option's value if it is nonempty
or the empty list if the option is empty
A singleton list containing the option's value if it is nonempty
or the empty list if the option is empty.
Go to: companion
def
toRight[X](left: ⇒ X): Product with Either[X, A]
An Either
that is a Left
with the given argument
left
if this is empty, or a Right
if this is nonempty with the
option's value
An Either
that is a Left
with the given argument
left
if this is empty, or a Right
if this is nonempty with the
option's value.
Go to: companion
def
toString(): String
Returns a string representation of the object
Returns a string representation of the object.
The default representation is platform dependent.
definition classes: AnyRef ⇐ Any
Go to: companion
Instance constructors

new
Option()
This class represents optional values. Instances of
Option
are either instances of case classSome
or it is case objectNone
.