Packages

object Either extends Serializable

Source
Either.scala
Linear Supertypes
Serializable, java.io.Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Either
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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)
  3. 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.)

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"