Projects anEither into aLeft.
Allows use of amerge method to extract values from Either instances regardless of whether they are Left or Right.
Allows use of amerge 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)Projects anEither into aRight.
Projects anEither into aRight.
BecauseEither 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.)
[Since version 2.13.0]Either is now right-biased, calls to `right` should be removedIf the condition is satisfied, return the givenB inRight, otherwise, return the givenA inLeft.
If the condition is satisfied, return the givenB inRight, otherwise, return the givenA inLeft.
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"Allows use of amerge method to extract values from Either instances regardless of whether they are Left or Right.
Allows use of amerge 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)