We need a whole WithFilter class to honor the "doesn't create a new collection" contract even though it seems unlikely to matter much in a collection with max size 1.
A method that should be called from every well-designed equals method that is open to be overridden in a subclass.
Returns a Some containing the result of
applying pf
to this Option's contained
value, if this option is
nonempty and pf
is defined for that value.
Returns a Some containing the result of
applying pf
to this Option's contained
value, if this option is
nonempty and pf
is defined for that value.
Returns None
otherwise.
the partial function.
the result of applying pf
to this Option's
value (if possible), or None
.
The equality method defined in AnyRef
.
Returns true if this option is nonempty and the predicatep
returns true when applied to this Option's value.
Returns this Option if it is nonempty and applying the predicate p
to
this Option's value returns true.
Returns the result of applying f
to this Option's value if
this Option is nonempty.
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. Otherwise, do nothing.
the procedure to apply.
flatMap
map
Returns the option's value.
Returns the option's value if the option is nonempty, otherwise
return the result of evaluating default
.
Returns the option's value if the option is nonempty, otherwise
return the result of evaluating default
.
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.
the hash code value for the object.
Returns true if the option is an instance of Some, false otherwise.
Returns true if the option is None
, false otherwise.
Returns a singleton iterator returning the Option's value if it is nonempty, or an empty iterator if the option is empty.
Returns a Some containing the result of applying f
to this Option's
value if this Option is nonempty.
Returns this Option if it is nonempty,
otherwise return the result of evaluating alternative
.
Returns the option's value if it is nonempty,
or null
if it is empty.
return k for a product A(x_1,...,x_k)
For a product A(x_1,...,x_k)
, returns x_(n+1)
for 0 <= n < k
use productIterator instead
An iterator that returns all fields of this product
An iterator that returns all fields of this product
By default the empty string.
Returns a Right containing the given
argument right
if this is empty, or
a Left containing this Option's value
if this Option is nonempty.
Returns a singleton list containing the Option's value if it is nonempty, or the empty list if the Option is empty.
Returns a Left containing the given
argument left
if this Option is empty, or
a Right containing this Option's value if
this is nonempty.
Returns a string representation of the object.
Returns a string representation of the object.
The default representation is platform dependent.
a string representation of the object.
Necessary to keep Option from being implicitly converted to
Iterable in for
comprehensions.
Class
Some[A]
represents existing values of typeA
.version
1.0, 16/07/2003