Spec-Zone.ru › Scala 3.2

Класс Success.Success

Исходный код

final case class Success[+T](value: T) extends Try[T]

Суперобъекты
класс Try[T]
тракт Serializable
тракт Product
тракт Equals
класс Object
тракт Matchable
класс Any

Наследуемые классы

Источник
final class WithFilter(p: T => Boolean)

Требуется целый класс WithFilter, чтобы соблюсти контракт «не создает новую коллекцию», даже если это вряд ли будет существенно в коллекции с максимальным размером 1.

Наследуется от Try

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

Источник
override def collect[U](pf: PartialFunction[T, U]): Try[U]

Применяет заданную частичную функцию к значению из этого Success или возвращает это, если это Failure.

Классы определения Try

Источник
override def failed: Try[Throwable]

Инвертирует этот Try. Если это Failure, возвращает его исключение, заключенное в Success. Если это Success, возвращает Failure, содержащий UnsupportedOperationException.

Классы определения Try

Источник
override def filter(p: T => Boolean): Try[T]

Преобразует это в Failure, если предикат не выполняется.

Классы определения Try

Источник
override def flatMap[U](f: T => Try[U]): Try[U]

Возвращает заданную функцию, примененную к значению из этого Success или возвращает это, если это Failure.

Классы определения Try

Источник
override def flatten[U](implicit ev: T <:< Try[U]): Try[U]

Преобразует вложенную Try, т.е., Try типа Try[Try[T]], в не вложенную Try, т.е., Try типа Try[T].

Классы определения Try

Источник
override def fold[U](fa: Throwable => U, fb: T => U): U

Применяет fa, если это Failure, или fb, если это Success. Если fb применяется вначале и выбрасывает исключение, то fa применяется с этим исключением.

Параметры значения
fa

функция для применения, если это Failure

fb

функция для применения, если это Success

Возвращаемое значение

результаты применения функции

Пример
val result: Try[Int] = Try { string.toInt }
log(result.fold(
 ex => "Operation failed with " + ex,
 v => "Operation produced value: " + v
))
Классы определения Try

Источник
override def foreach[U](f: T => U): Unit

Применяет заданную функцию f, если это Success, иначе возвращает Unit, если это Failure.

Примечание: Если f вызывает исключение, этот метод может также вызвать исключение.

Классы определения Try

Source
override def get: T

Возвращает значение из этого Success или выбрасывает исключение, если это Failure.

Definition Classes Try

Source
override def getOrElse[U >: T](default: => U): U

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

Примечание:: Это выбросит исключение, если это не успех, а default выбросит исключение.

Definition Classes Try

Source
override def isFailure: Boolean

Возвращает true, если Try является Failure, false в противном случае.

Definition Classes Try

Source
override def isSuccess: Boolean

Возвращает true, если Try является Success, false в противном случае.

Definition Classes Try

Source
override def map[U](f: T => U): Try[U]

Применяет заданную функцию к значению из этого Success или возвращает это, если это Failure.

Definition Classes Try

Source
override def orElse[U >: T](default: => Try[U]): Try[U]

Возвращает это Try если оно Success или заданный аргумент default если это Failure.

Definition Classes Try

Source
override def recover[U >: T](pf: PartialFunction[Throwable, U]): Try[U]

Применяет заданную функцию f если это Failure, в противном случае возвращает это, если это Success. Это как map для исключения.

Definition Classes Try

Source
override def recoverWith[U >: T](pf: PartialFunction[Throwable, Try[U]]): Try[U]

Применяет заданную функцию f если это Failure, в противном случае возвращает это, если это Success. Это как flatMap для исключения.

Definition Classes Try

Source
override def toEither: Either[Throwable, T]

Возвращает Left с Throwable, если это Failure, в противном случае возвращает Right со значением Success.

Definition Classes Try

Source
override def toOption: Option[T]

Возвращает None если это Failure или Some, содержащий значение, если это Success.

Классы-определения Try

Исходный код
override def transform[U](s: T => Try[U], f: Throwable => Try[U]): Try[U]

Завершает этот Try путём применения функции f к этому элементу, если этот элемент имеет тип Failure, или, наоборот, путём применения s , если это Success.

Классы-определения Try

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

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

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

Наследуется из Product

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

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

Возвращает

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

Наследуется из Product

Исходный код
final def withFilter(p: T => Boolean): WithFilter

Создаёт нестрогий фильтр, который в конечном счёте преобразует этот элемент в Failure , если предикат не удовлетворён.

Примечание: в отличие от filter, withFilter не создаёт новый Try. Вместо этого он ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.

Поскольку Try — коллекция из одного элемента, это может быть немного избыточно, но это согласуется с withFilter для Option и других коллекций.

Параметры
p

предикат, используемый для проверки элементов.

Возвращает

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этого Try, которые удовлетворяют предикату p.

Наследуется из Try

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/util/Success.html

Spec-Zone.ru

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