Объект scala.util.Either
объект Either
| Супертипы | |
|---|---|
| Тип self |
Классы
Исходный код
final case class LeftProjection[+A, +B](e: Either[A, B])
Проектирует Either в Left.
| См. также |
|---|
Исходный код
Позволяет использовать метод merge для извлечения значений из экземпляров Either независимо от того, являются ли они Left или 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)
Наследуемые типы
Исходный код
тип MirroredElemLabels <: Tuple
Имена элементов продукта
| Наследуется от | Mirror |
|---|
Исходный код
тип MirroredLabel <: String
Имя типа
| Наследуется от | Mirror |
|---|
Конкретные методы
Исходный код
Если условие выполняется, вернуть заданное B в Right, в противном случае вернуть заданное A в 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"
Неявные
Исходный код
Позволяет использовать метод merge для извлечения значений из экземпляров Either независимо от того, являются ли они Left или 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)
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/util/Either$.html