Spec-Zone.ru › Scala 3.1

Класс scala.util.LeftProjection

Исходный код

final case class LeftProjection[+A, +B](e: Either[A, B])

Проектирует Either в Left.

См. также

scala.util.Either#left

Надтипы
интерфейс Serializable
интерфейс Product
интерфейс Equals
класс Object
интерфейс Matchable
класс Any

Конкретные методы

Исходный код
def exists(p: A => Boolean): Boolean

Возвращает false если Right или возвращает результат применения данного функционала к Left значению.

Left(12).left.exists(_ > 10)  // true
Left(7).left.exists(_ > 10)   // false
Right(12).left.exists(_ > 10) // false

Исходный код
def filterToOption[B1](p: A => Boolean): Option[Either[A, B1]]

Возвращает None если это Right или если заданное предикатное p не выполняется для левого значения, иначе возвращает Left.

Left(12).left.filterToOption(_ > 10)  // Some(Left(12))
Left(7).left.filterToOption(_ > 10)   // None
Right(12).left.filterToOption(_ > 10) // None

Исходный код
def flatMap[A1, B1 >: B](f: A => Either[A1, B1]): Either[A1, B1]

Связывает данную функцию через Left.

Left(12).left.flatMap(x => Left("scala")) // Left("scala")
Right(12).left.flatMap(x => Left("scala")) // Right(12)
Параметры
f

Функция для связывания через Left.

Исходный код
def forall(p: A => Boolean): Boolean

Возвращает true если Right или возвращает результат применения данной функции к Left значению.

Left(12).left.forall(_ > 10)  // true
Left(7).left.forall(_ > 10)   // false
Right(12).left.forall(_ > 10) // true

Исходный код
def foreach[U](f: A => U): Unit

Выполняет данную побочную функцию, если это Left.

Left(12).left.foreach(x => println(x))  // prints "12"
Right(12).left.foreach(x => println(x)) // doesn't print
Параметры
f

Побочная функция для выполнения.

Исходный код
def getOrElse[A1 >: A](or: => A1): A1

Возвращает значение из этого Left или заданный аргумент, если это Right.

Left(12).left.getOrElse(17)  // 12
Right(12).left.getOrElse(17) // 17

Исходный код
def map[A1](f: A => A1): Either[A1, B]

Преобразует функцию-аргумент через Left.

Left(12).left.map(_ + 2) // Left(14)
Right[Int, Int](12).left.map(_ + 2) // Right(12)

Исходный код
def toOption: Option[A]

Возвращает Some содержащее Left значение, если оно существует, или None если это Right.

Left(12).left.toOption // Some(12)
Right(12).left.toOption // None

Исходный код
def toSeq: Seq[A]

Возвращает Seq содержащее Left значение, если оно существует, или пустое Seq если это Right.

Left(12).left.toSeq // Seq(12)
Right(12).left.toSeq // Seq()

Наследованные методы

Исходный код
def productElementNames: Iterator[String]

Итератор по именам всех элементов этого произведения.

Наследован из Product

Исходный код
def productIterator: Iterator[Any]

Итератор по всем элементам этого произведения.

Возвращает

в реализации по умолчанию, Iterator[Any]

Наследован из Product

© 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$$LeftProjection.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API