scala
class Option

[source: `scala/Option.scala`]

`sealed abstract` `class` Option[+A]
  `extends` Product

  This class represents optional values. Instances of `Option` are either instances of case class `Some` or it is case object `None`.

Author
  Martin Odersky
  Matthias Zenger
Version
  1.1, 16/01/2007

Direct Known Subclasses:
  Some, None

Method Summary
`def` | elements : Iterator[A] An singleton iterator returning the option's value if it is nonempty or the empty iterator if the option is empty.
`def` | filter (p : (A) => Boolean) : Option[A] If the option is nonempty and the given predicate `p` yields `false` on its value, return `None`. Otherwise return the option value itself.
`def` | flatMap [B](f : (A) => Option[B]) : Option[B] If the option is nonempty, return a function applied to its value. Otherwise return None.
`def` | foreach (f : (A) => Unit) : Unit Apply the given procedure `f` to the option's value, if it is nonempty. Do nothing if it is empty.
`def` | get [B >: A](default : B) : B
`abstract def` | get : A get the value of this option. @requires that the option is nonEmpty.
`def` | getOrElse [B >: A](default : => B) : B If the option is nonempty return its value, otherwise return the result of evaluating a default expression.
`def` | isDefined : Boolean True if the option is a `Some`(...) false otherwise.
`abstract def` | isEmpty : Boolean True if the option is the `None` value, false otherwise.
`def` | map [B](f : (A) => B) : Option[B] 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`.
`def` | orElse [B >: A](alternative : => Option[B]) : Option[B] If the option is nonempty return it, otherwise return the result of evaluating an alternative expression.
`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.

Methods inherited from Product
productElement (abstract), productArity (abstract), element, arity, productPrefix

Methods inherited from AnyRef
getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized

Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf

Method Details

`abstract` `def` isEmpty : Boolean

  True if the option is the `None` value, false otherwise.

`` `def` isDefined : Boolean

  True if the option is a `Some`(...) false otherwise.

`abstract` `def` get : A

  get the value of this option. @requires that the option is nonEmpty.

Throws
  Predef.NoSuchElementException - if the option is empty.

@deprecated
`` `def` get[B >: A](default : B) : B

Deprecated
  ; use `getOrElse` instead

`` `def` getOrElse[B >: A](default : => B) : B

  If the option is nonempty return its value, otherwise return the result of evaluating a default expression.

Parameters
  `default -` the default expression.

`` `def` map[B](f : (A) => B) : Option[B]

  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`.

Parameters
  `f -` the function to apply

`` `def` flatMap[B](f : (A) => Option[B]) : Option[B]

  If the option is nonempty, return a function applied to its value. Otherwise return None.

Parameters
  `f -` the function to apply

`` `def` filter(p : (A) => Boolean) : Option[A]

  If the option is nonempty and the given predicate `p` yields `false` on its value, return `None`. Otherwise return the option value itself.

Parameters
  `p -` the predicate used for testing.

`` `def` foreach(f : (A) => Unit) : Unit

  Apply the given procedure `f` to the option's value, if it is nonempty. Do nothing if it is empty.

Parameters
  `f -` the procedure to apply.

`` `def` orElse[B >: A](alternative : => Option[B]) : Option[B]

  If the option is nonempty return it, otherwise return the result of evaluating an alternative expression.

Parameters
  `alternative -` the alternative expression.

`` `def` elements : Iterator[A]

  An singleton iterator returning the option's value if it is nonempty or the empty iterator if the option is empty.

`` `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.