Packages

  • package root

    This is the documentation for the Scala standard library.

    This is the documentation for the Scala standard library.

    Package structure

    The scala package contains core types like Int, Float, Array or Option which are accessible in all Scala compilation units without explicit qualification or imports.

    Notable packages include:

    Other 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.collection.parallel - Parallel collections (scala-parallel-collections.jar)
    • scala.util.parsing - Parser combinators (scala-parser-combinators.jar)
    • scala.swing - A convenient wrapper around Java's GUI framework called Swing (scala-swing.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 for scala.collection.immutable.List.

    Other aliases refer to classes provided by the underlying platform. For example, on the JVM, String is an alias for java.lang.String.

    Definition Classes
    root
  • package scala

    Core Scala types.

    Core Scala types. They are always available without an explicit import.

    Definition Classes
    root
  • package util
    Definition Classes
    scala
  • object Either extends java.io.Serializable
    Definition Classes
    util
  • LeftProjection
  • MergeableEither
  • RightProjection
c

scala.util.Either

RightProjection

final case class RightProjection[+A, +B](e: Either[A, B]) extends Product with Serializable

Projects an Either into a Right.

Because Either is already right-biased, this class is not normally needed. (It is retained in the library for now for easy cross-compilation between Scala 2.11 and 2.12.)

Annotations
@deprecated
Deprecated

(Since version 2.13.0) Either is now right-biased, calls to right should be removed

Source
Either.scala
Linear Supertypes
java.io.Serializable, Product, Equals, AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RightProjection
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RightProjection(e: Either[A, B])

Value Members

  1. val e: Either[A, B]
  2. def exists(p: (B) => Boolean): Boolean

    Returns false if Left or returns the result of the application of the given function to the Right value.

    Returns false if Left or returns the result of the application of the given function to the Right value.

    Right(12).right.exists(_ > 10)  // true
    Right(7).right.exists(_ > 10)   // false
    Left(12).right.exists(_ > 10)   // false
  3. def filterToOption[A1](p: (B) => Boolean): Option[Either[A1, B]]

    Returns None if this is a Left or if the given predicate p does not hold for the right value, otherwise, returns a Right.

    Returns None if this is a Left or if the given predicate p does not hold for the right value, otherwise, returns a Right.

    Right(12).right.filterToOption(_ > 10) // Some(Right(12))
    Right(7).right.filterToOption(_ > 10)  // None
    Left(12).right.filterToOption(_ > 10)  // None
  4. def flatMap[A1 >: A, B1](f: (B) => Either[A1, B1]): Either[A1, B1]

    Binds the given function across Right.

    Binds the given function across Right.

    f

    The function to bind across Right.

  5. def forall(f: (B) => Boolean): Boolean

    Returns true if Left or returns the result of the application of the given function to the Right value.

    Returns true if Left or returns the result of the application of the given function to the Right value.

    Right(12).right.forall(_ > 10) // true
    Right(7).right.forall(_ > 10)  // false
    Left(12).right.forall(_ > 10)  // true
  6. def foreach[U](f: (B) => U): Unit

    Executes the given side-effecting function if this is a Right.

    Executes the given side-effecting function if this is a Right.

    Right(12).right.foreach(x => println(x)) // prints "12"
    Left(12).right.foreach(x => println(x))  // doesn't print
    f

    The side-effecting function to execute.

  7. def getOrElse[B1 >: B](or: => B1): B1

    Returns the value from this Right or the given argument if this is a Left.

    Returns the value from this Right or the given argument if this is a Left.

    Right(12).right.getOrElse(17) // 12
    Left(12).right.getOrElse(17)  // 17
  8. def map[B1](f: (B) => B1): Either[A, B1]

    The given function is applied if this is a Right.

    The given function is applied if this is a Right.

    Right(12).right.map(x => "flower") // Result: Right("flower")
    Left(12).right.map(x => "flower")  // Result: Left(12)
  9. def productElementNames: Iterator[String]

    An iterator over the names of all the elements of this product.

    An iterator over the names of all the elements of this product.

    Definition Classes
    Product
  10. def toOption: Option[B]

    Returns a Some containing the Right value if it exists or a None if this is a Left.

    Returns a Some containing the Right value if it exists or a None if this is a Left.

    Right(12).right.toOption // Some(12)
    Left(12).right.toOption // None
  11. def toSeq: Seq[B]

    Returns a Seq containing the Right value if it exists or an empty Seq if this is a Left.

    Returns a Seq containing the Right value if it exists or an empty Seq if this is a Left.

    Right(12).right.toSeq // Seq(12)
    Left(12).right.toSeq // Seq()

Deprecated Value Members

  1. def filter[A1](p: (B) => Boolean): Option[Either[A1, B]]

    Returns None if this is a Left or if the given predicate p does not hold for the right value, otherwise, returns a Right.

    Returns None if this is a Left or if the given predicate p does not hold for the right value, otherwise, returns a Right.

    Right(12).right.filter(_ > 10) // Some(Right(12))
    Right(7).right.filter(_ > 10)  // None
    Left(12).right.filter(_ > 10)  // None
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use filterToOption, which more accurately reflects the return type

  2. def get: B

    Returns the value from this Right or throws java.util.NoSuchElementException if this is a Left.

    Returns the value from this Right or throws java.util.NoSuchElementException if this is a Left.

    Right(12).right.get // 12
    Left(12).right.get // NoSuchElementException
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use Either.getOrElse instead

    Exceptions thrown

    java.util.NoSuchElementException if the projection is Left.