Packages

object Either extends java.io.Serializable

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Either
  2. Serializable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

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

    Projects an Either into a Left.

    Projects an Either into a Left.

    See also

    scala.util.Either#left

  2. implicit final class MergeableEither[A] extends AnyVal

    Allows use of a merge method to extract values from Either instances regardless of whether they are Left or Right.

    Allows use of a merge method to extract values from Either instances regardless of whether they are Left or Right.

    val l = Left(List(1)): Either[List[Int], Vector[Int]]
    val r = Right(Vector(1)): Either[List[Int], Vector[Int]]
    l.merge: Seq[Int] // List(1)
    r.merge: Seq[Int] // Vector(1)

Deprecated Type Members

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

    Projects an Either into a Right.

    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

Value Members

  1. def cond[A, B](test: Boolean, right: => B, left: => A): Either[A, B]

    If the condition is satisfied, return the given B in Right, otherwise, return the given A in Left.

    If the condition is satisfied, return the given B in Right, otherwise, return the given A in Left.

    val userInput: String = readLine()
    Either.cond(
      userInput.forall(_.isDigit) && userInput.size == 10,
      PhoneNumber(userInput),
      s"The input ($userInput) does not look like a phone number"