A method that should be called from every well-designed equals method that is open to be overridden in a subclass
A method that should be called from every well-designed equals method that is open to be overridden in a subclass. See Programming in Scala, Chapter 28 for discussion and design.
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, p(value), otherwise false.
the predicate to test
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
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
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,
for a product A(x_1,
for a product A(x_1,...,x_k)
, returns x_(n+1)
for 0 <= n < k
the index of the element to return
The element n
elements after the first element
An iterator that returns all fields of this product
An iterator that returns all fields of this product
By default the empty string
By default the empty string. Implementations may override this method in order to prepend a string prefix to the result of the toString methods.
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.
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.
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.
Returns a string representation of the object
Returns a string representation of the object.
The default representation is platform dependent.
This class represents optional values. Instances of
Option
are either instances of case classSome
or it is case objectNone
.