Applies fa if this is a Left or fb if this is a Right.
Applies fa if this is a Left or fb if this is a Right.
the function to apply if this is a Left
the function to apply if this is a Right
the results of applying the function
val result: Either[Exception, Value] = possiblyFailingOperation() log(result.fold( ex => "Operation failed with " + ex, v => "Operation produced value: " + v ))
Returns string formatted according to given format string.
Returns string formatted according to given format string.
Format strings are as for String.format
(@see java.lang.String.format).
Returns true if this is a Left, false otherwise.
Returns true if this is a Right, false otherwise.
Joins an Either through Left.
Joins an Either through Left.
This method requires that the left side of this Either is itself an Either type. That is, this must be some type like:
Either[Either[C, B], B]
(which respects the type parameter bounds, shown below.)
If this instance is a Left[Either[C, B]] then the contained Either[C, B] will be returned, otherwise this value will be returned unmodified.
Left[Either[Int, String], String](Right("flower")).joinLeft // Result: Right("flower") Left[Either[Int, String], String](Left(12)).joinLeft // Result: Left(12) Right[Either[Int, String], String]("daisy").joinLeft // Result: Right("daisy")
This method, and joinRight, are analogous to Option#flatten
Joins an Either through Right.
Joins an Either through Right.
This method requires that the right side of this Either is itself an Either type. That is, this must be some type like:
Either[A, Either[A, C]]
(which respects the type parameter bounds, shown below.)
If this instance is a Right[Either[A, C]] then the contained Either[A, C] will be returned, otherwise this value will be returned unmodified.
Right[String, Either[String, Int]](Right(12)).joinRight // Result: Right(12) Right[String, Either[String, Int]](Left("flower")).joinRight // Result: Left("flower") Left[String, Either[String, Int]]("flower").joinRight // Result: Left("flower")
This method, and joinLeft, are analogous to Option#flatten
Projects this Either as a Left.
Projects this Either as a Left.
Projects this Either as a Right.
Projects this Either as a Right.
If this is a Left, then return the left value in Right or vice versa.
If this is a Left, then return the left value in Right or vice versa.
val l: Either[String, Int] = Left("left") val r: Either[Int, String] = l.swap // Result: Right("left")
The right side of the disjoint union, as opposed to the scala.util.Left side.
1.0, 11/10/2008