- Companion:
- class
- Source:
- Either.scala
Type members
Classlikes
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)
- Source:
- Either.scala
Deprecated classlikes
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.)
- Deprecated
- Source:
- Either.scala
Inherited types
The names of the product elements
The names of the product elements
- Inherited from:
- Mirror
- Source:
- Mirror.scala
Value members
Concrete methods
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"
- Source:
- Either.scala
Implicits
Implicits
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)
- Source:
- Either.scala