Attributes
- Companion
- class
- Source
- Either.scala
- Graph
-
- Supertypes
- Self type
-
Either.type
Members list
Type members
Classlikes
Projects an Either into a Left.
Projects an Either into a Left.
Type parameters
- A
-
the type of the
Leftvalue - B
-
the type of the
Rightvalue
Value parameters
- e
-
the
Eithervalue to project
Attributes
- See also
- Source
- Either.scala
- Supertypes
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)
Type parameters
- A
-
the common type of both sides of the
Either
Value parameters
- x
-
the
Eitherinstance whose left and right types are the same
Attributes
- Source
- Either.scala
- Supertypes
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.)
Attributes
- Deprecated
-
[Since version 2.13.0]Either is now right-biased, calls to `right` should be removed - Source
- Either.scala
- Supertypes
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"
Type parameters
- A
-
the
Lefttype - B
-
the
Righttype
Value parameters
- left
-
the
Leftvalue to use iftestisfalse, evaluated lazily - right
-
the
Rightvalue to use iftestistrue, evaluated lazily - test
-
the condition to evaluate
Attributes
- Returns
-
Right(right)iftestistrue,Left(left)otherwise - 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)
Type parameters
- A
-
the common type of both sides of the
Either
Value parameters
- x
-
the
Eitherinstance whose left and right types are the same
Attributes
- Source
- Either.scala