object None extends Option[Nothing] with Product with Serializable
This case object represents non-existent values.
- Annotations
- @SerialVersionUID()
- Source
- Option.scala
- Version
1.0, 16/07/2003
- Alphabetic
- By Inheritance
- None
- Option
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
class
WithFilter
extends AnyRef
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.
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.
- Definition Classes
- Option
Value Members
-
final
def
collect[B](pf: PartialFunction[Nothing, B]): Option[B]
Returns a scala.Some containing the result of applying
pf
to this scala.Option's contained value, if this option is nonempty andpf
is defined for that value.Returns a scala.Some containing the result of applying
pf
to this scala.Option's contained value, if this option is nonempty andpf
is defined for that value. ReturnsNone
otherwise.- pf
the partial function.
- returns
the result of applying
pf
to this scala.Option's value (if possible), orNone
.
- Definition Classes
- Option
- Annotations
- @inline()
// Returns Some(HTTP) because the partial function covers the case. Some("http") collect {case "http" => "HTTP"} // Returns None because the partial function doesn't cover the case. Some("ftp") collect {case "http" => "HTTP"} // Returns None because the option is empty. There is no value to pass to the partial function. None collect {case value => value}
Example: -
final
def
contains[A1 >: Nothing](elem: A1): Boolean
Tests whether the option contains a given value as an element.
Tests whether the option contains a given value as an element.
- elem
the element to test.
- returns
true
if the option has an element that is equal (as determined by==
) toelem
,false
otherwise.
- Definition Classes
- Option
// Returns true because Some instance contains string "something" which equals "something". Some("something") contains "something" // Returns false because "something" != "anything". Some("something") contains "anything" // Returns false when method called on None. None contains "anything"
Example: -
final
def
exists(p: (Nothing) ⇒ Boolean): Boolean
Returns true if this option is nonempty and the predicate
p
returns true when applied to this scala.Option's value.Returns true if this option is nonempty and the predicate
p
returns true when applied to this scala.Option's value. Otherwise, returns false.- p
the predicate to test
-
final
def
filter(p: (Nothing) ⇒ Boolean): Option[Nothing]
Returns this scala.Option if it is nonempty and applying the predicate
p
to this scala.Option's value returns true.Returns this scala.Option if it is nonempty and applying the predicate
p
to this scala.Option's value returns true. Otherwise, returnNone
.- p
the predicate used for testing.
-
final
def
filterNot(p: (Nothing) ⇒ Boolean): Option[Nothing]
Returns this scala.Option if it is nonempty and applying the predicate
p
to this scala.Option's value returns false.Returns this scala.Option if it is nonempty and applying the predicate
p
to this scala.Option's value returns false. Otherwise, returnNone
.- p
the predicate used for testing.
-
final
def
flatMap[B](f: (Nothing) ⇒ Option[B]): Option[B]
Returns the result of applying
f
to this scala.Option's value if this scala.Option is nonempty.Returns the result of applying
f
to this scala.Option's value if this scala.Option is nonempty. ReturnsNone
if this scala.Option is empty. Slightly different frommap
in thatf
is expected to return an scala.Option (which could beNone
).- f
the function to apply
-
def
flatten[B](implicit ev: <:<[Nothing, Option[B]]): Option[B]
- Definition Classes
- Option
-
final
def
fold[B](ifEmpty: ⇒ B)(f: (Nothing) ⇒ B): B
Returns the result of applying
f
to this scala.Option's value if the scala.Option is nonempty.Returns the result of applying
f
to this scala.Option's value if the scala.Option is nonempty. Otherwise, evaluates expressionifEmpty
.- ifEmpty
the expression to evaluate if empty.
- f
the function to apply if nonempty.
- Definition Classes
- Option
- Annotations
- @inline()
- Note
This is equivalent to
scala.Option map f getOrElse ifEmpty
.
-
final
def
forall(p: (Nothing) ⇒ Boolean): Boolean
Returns true if this option is empty or the predicate
p
returns true when applied to this scala.Option's value.Returns true if this option is empty or the predicate
p
returns true when applied to this scala.Option's value.- p
the predicate to test
-
final
def
foreach[U](f: (Nothing) ⇒ U): Unit
Apply the given procedure
f
to the option's value, if it is nonempty. -
def
get: Nothing
Returns the option's value.
-
final
def
getOrElse[B >: Nothing](default: ⇒ B): B
Returns the option's value if the option is nonempty, otherwise return the result of evaluating
default
. -
def
isDefined: Boolean
Returns true if the option is an instance of scala.Some, false otherwise.
Returns true if the option is an instance of scala.Some, false otherwise.
- Definition Classes
- Option
-
def
isEmpty: Boolean
Returns true if the option is
None
, false otherwise. -
def
iterator: Iterator[Nothing]
Returns a singleton iterator returning the scala.Option's value if it is nonempty, or an empty iterator if the option is empty.
Returns a singleton iterator returning the scala.Option's value if it is nonempty, or an empty iterator if the option is empty.
- Definition Classes
- Option
-
final
def
map[B](f: (Nothing) ⇒ B): Option[B]
Returns a scala.Some containing the result of applying
f
to this scala.Option's value if this scala.Option is nonempty.Returns a scala.Some containing the result of applying
f
to this scala.Option's value if this scala.Option is nonempty. Otherwise returnNone
.- f
the function to apply
- Definition Classes
- Option
- Annotations
- @inline()
- Note
This is similar to
flatMap
except here,f
does not need to wrap its result in an scala.Option.- See also
foreach
flatMap
-
final
def
nonEmpty: Boolean
Returns false if the option is
None
, true otherwise.Returns false if the option is
None
, true otherwise.- Definition Classes
- Option
- Note
Implemented here to avoid the implicit conversion to Iterable.
-
final
def
orElse[B >: Nothing](alternative: ⇒ Option[B]): Option[B]
Returns this scala.Option if it is nonempty, otherwise return the result of evaluating
alternative
.Returns this scala.Option if it is nonempty, otherwise return the result of evaluating
alternative
.- alternative
the alternative expression.
-
final
def
orNull[A1 >: Nothing](implicit ev: <:<[Null, A1]): A1
Returns the option's value if it is nonempty, or
null
if it is empty.Returns the option's value if it is nonempty, or
null
if it is empty. Although the use of null is discouraged, code written to use scala.Option must often interface with code that expects and returns nulls. -
final
def
toLeft[X](right: ⇒ X): util.Either[Nothing, X]
Returns a scala.util.Right containing the given argument
right
if this is empty, or a scala.util.Left containing this scala.Option's value if this scala.Option is nonempty.Returns a scala.util.Right containing the given argument
right
if this is empty, or a scala.util.Left containing this scala.Option's value if this scala.Option is nonempty.- right
the expression to evaluate and return if this is empty
-
def
toList: List[Nothing]
Returns a singleton list containing the scala.Option's value if it is nonempty, or the empty list if the scala.Option is empty.
Returns a singleton list containing the scala.Option's value if it is nonempty, or the empty list if the scala.Option is empty.
- Definition Classes
- Option
-
final
def
toRight[X](left: ⇒ X): util.Either[X, Nothing]
Returns a scala.util.Left containing the given argument
left
if this scala.Option is empty, or a scala.util.Right containing this scala.Option's value if this is nonempty.Returns a scala.util.Left containing the given argument
left
if this scala.Option is empty, or a scala.util.Right containing this scala.Option's value if this is nonempty.- left
the expression to evaluate and return if this is empty
-
final
def
withFilter(p: (Nothing) ⇒ Boolean): WithFilter
Necessary to keep scala.Option from being implicitly converted to scala.collection.Iterable in
for
comprehensions.Necessary to keep scala.Option from being implicitly converted to scala.collection.Iterable in
for
comprehensions.
This is the documentation for the Scala standard library.
Package structure
The scala package contains core types like
Int
,Float
,Array
orOption
which are accessible in all Scala compilation units without explicit qualification or imports.Notable packages include:
scala.collection
and its sub-packages contain Scala's collections frameworkscala.collection.immutable
- Immutable, sequential data-structures such asVector
,List
,Range
,HashMap
orHashSet
scala.collection.mutable
- Mutable, sequential data-structures such asArrayBuffer
,StringBuilder
,HashMap
orHashSet
scala.collection.concurrent
- Mutable, concurrent data-structures such asTrieMap
scala.collection.parallel.immutable
- Immutable, parallel data-structures such asParVector
,ParRange
,ParHashMap
orParHashSet
scala.collection.parallel.mutable
- Mutable, parallel data-structures such asParArray
,ParHashMap
,ParTrieMap
orParHashSet
scala.concurrent
- Primitives for concurrent programming such asFutures
andPromises
scala.io
- Input and output operationsscala.math
- Basic math functions and additional numeric types likeBigInt
andBigDecimal
scala.sys
- Interaction with other processes and the operating systemscala.util.matching
- Regular expressionsOther packages exist. See the complete list on the right.
Additional parts of the standard library are shipped as separate libraries. These include:
scala.reflect
- Scala's reflection API (scala-reflect.jar)scala.xml
- XML parsing, manipulation, and serialization (scala-xml.jar)scala.swing
- A convenient wrapper around Java's GUI framework called Swing (scala-swing.jar)scala.util.parsing
- Parser combinators, including an example implementation of a JSON parser (scala-parser-combinators.jar)Automatic imports
Identifiers in the scala package and the
scala.Predef
object are always in scope by default.Some of these identifiers are type aliases provided as shortcuts to commonly used classes. For example,
List
is an alias forscala.collection.immutable.List
.Other aliases refer to classes provided by the underlying platform. For example, on the JVM,
String
is an alias forjava.lang.String
.