Spec-Zone.ru › Scala 3.1

Объект scala.None

Исходный код

@SerialVersionUID(5066590221178148012L)
case object None extends Option[Nothing]

Этот объект case представляет отсутствующие значения.

Суперайтейпы
Трейт Singleton
Трейт Product
Трейт Mirror
Класс Option[Nothing]
Трейт Serializable
Трейт Product
Трейт Equals
Трейт IterableOnce[Nothing]
Класс Object
Трейт Matchable
Класс Any
Тип self
None.type

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

Исходный код
Класс WithFilter(p: A => Boolean)

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

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

Наследуемые типы

Исходный код
Тип MirroredElemLabels = EmptyTuple

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

Исходный код
Тип MirroredElemTypes = EmptyTuple

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

Исходный код
Тип MirroredLabel <: String

Имя типа

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

Исходный код
Тип MirroredMonoType = Singleton

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

Исходный код
Тип MirroredType = Singleton

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

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

Исходный код
def get: Nothing

Наследуемые методы

Исходный код@inline
final def collect[B](pf: PartialFunction[Nothing, B]): Option[B]

Возвращает scala.Some, содержащий результат применения pf к этому значению scala.Option, если этот параметр не пустой, и pf определено для этого значения. В противном случае возвращает None.

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

Частичная функция.

Возвращает

Результат применения pf к этому значению scala.Option (если возможно), или None.

Пример
// Returns Some(HTTP) because the partial function covers the case.
Some("http") collect {case "http" => "HTTP"}
// Returns None because the partial function doesn't cover the case.
Some("ftp") collect {case "http" => "HTTP"}
// Returns None because the option is empty. There is no value to pass to the partial function.
None collect {case value => value}
Наследуется от Option

Исходный код
final def contains[A1](elem: A1): Boolean

Проверяет, содержит ли параметр данное значение в качестве элемента.

Это эквивалентно:

option match {
 case Some(x) => x == elem
 case None    => false
}
Параметры значения
elem

Элемент для проверки.

Возвращает

true , если параметр содержит элемент, равный (как определено ==) elem, false в противном случае.

Пример
// Returns true because Some instance contains string "something" which equals "something".
Some("something") contains "something"
// Returns false because "something" != "anything".
Some("something") contains "anything"
// Returns false when method called on None.
None contains "anything"
Наследуется от Option

Исходный код@inline
final def exists(p: Nothing => Boolean): Boolean

Возвращает true, если этот параметр не пустой, и предикат p возвращает true, когда применяется к значению этого scala.Option. В противном случае возвращает false.

Это эквивалентно:

option match {
 case Some(x) => p(x)
 case None    => false
}
Параметры значения
p

Предикат для проверки

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

Исходный код@inline
final def filter(p: Nothing => Boolean): Option[Nothing]

Возвращает этот scala.Option, если он не пустой, и применение предиката p к значению этого scala.Option возвращает true. В противном случае возвращает None.

Это эквивалентно:

option match {
 case Some(x) if p(x) => Some(x)
 case _               => None
}
Параметры значения
p

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

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

Исходный код@inline
final def filterNot(p: Nothing => Boolean): Option[Nothing]

Возвращает этот scala.Option, если он не пустой, и применение предиката p к значению этого scala.Option возвращает false. В противном случае возвращает None.

Это эквивалентно:

option match {
 case Some(x) if !p(x) => Some(x)
 case _                => None
}
Параметры значения
p

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

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

Исходный код@inline
final def flatMap[B](f: Nothing => Option[B]): Option[B]

Возвращает результат применения f к значению этого scala.Option, если этот scala.Option не пустой. Возвращает None , если этот scala.Option пустой. Несколько отличается от map, так как ожидается, что f вернёт scala.Option (который может быть None).

Это эквивалентно:

option match {
 case Some(x) => f(x)
 case None    => None
}
Параметры значения
f

Функция для применения

См. также

map

foreach

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

Исходный код
def flatten[B](implicit ev: Nothing <:< Option[B]): Option[B]

Возвращает вложенное значение scala.Option, если оно не пустое. В противном случае возвращает None.

Это эквивалентно:

option match {
 case Some(Some(b)) => Some(b)
 case _             => None
}
Параметры значения
ev

явное преобразование, которое утверждает, что значение также является scala.Option.

См. также

flatMap

Пример
Some(Some("something")).flatten
Унаследовано от Option

Исходный код@inline
final def fold[B](ifEmpty: => B)(f: Nothing => B): B

Возвращает результат применения f к значению этого scala.Option, если scala.Option не пусто. В противном случае вычисляет выражение ifEmpty.

Это эквивалентно:

option match {
 case Some(x) => f(x)
 case None    => ifEmpty
}

Это также эквивалентно:

option map f getOrElse ifEmpty
Параметры значения
f

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

ifEmpty

выражение для вычисления, если пусто.

Унаследовано от Option

Исходный код@inline
final def forall(p: Nothing => Boolean): Boolean

Возвращает true, если этот параметр пустой или предикат p возвращает true, когда применяется к значению этого scala.Option.

Это эквивалентно:

option match {
 case Some(x) => p(x)
 case None    => true
}
Параметры значения
p

предикат для проверки

Унаследовано от Option

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

Применяет заданную процедуру f к значению параметра, если он не пустой. В противном случае ничего не делает.

Это эквивалентно:

option match {
 case Some(x) => f(x)
 case None    => ()
}
Параметры значения
f

процедура для применения.

См. также

map

flatMap

Унаследовано от Option

Исходный код
def fromProduct(p: Product): MirroredMonoType

Унаследовано от Singleton

Исходный код@inline
final def getOrElse[B](default: => B): B

Возвращает значение параметра, если параметр не пустой, в противном случае возвращает результат вычисления default.

Это эквивалентно:

option match {
 case Some(x) => x
 case None    => default
}
Параметры значения
default

выражение по умолчанию.

Унаследовано от Option

Исходный код
final def isDefined: Boolean

Возвращает true, если параметр является экземпляром scala.Some, в противном случае false.

Это эквивалентно:

option match {
 case Some(_) => true
 case None    => false
}
Унаследовано от Option

Исходный код
final def isEmpty: Boolean

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

Это эквивалентно:

option match {
 case Some(_) => false
 case None    => true
}
Унаследовано от Option

Исходный код
def iterator: Iterator[Nothing]

Возвращает итератор с одиночным элементом, возвращающим значение scala.Option, если он не пуст, или пустой итератор, если параметр пустой.

Унаследовано от Option

Исходный код
final override def knownSize: Int

Классы определений Option -> IterableOnce
Унаследовано от Option

Исходный код@inline
final def map[B](f: Nothing => B): Option[B]

Возвращает scala.Some содержащий результат применения f к значению этого scala.Option, если этот scala.Option не пуст. В противном случае возвращает None.

Это эквивалентно:

option match {
 case Some(x) => Some(f(x))
 case None    => None
}
Параметры значения
f

функция для применения

См. также

flatMap

foreach

Примечание

Это аналогично flatMap за исключением того, что здесь f не нужно заключать свой результат в scala.Option.

Унаследовано от Option

Исходный код
final def nonEmpty: Boolean

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

Это эквивалентно:

option match {
 case Some(_) => true
 case None    => false
}
Примечание

Реализовано здесь, чтобы избежать неявного преобразования в Iterable.

Унаследовано от Option

Исходный код@inline
final def orElse[B](alternative: => Option[B]): Option[B]

Возвращает этот scala.Option, если он не пуст, в противном случае возвращает результат вычисления alternative.

Это эквивалентно:

option match {
 case Some(x) => Some(x)
 case None    => alternative
}
Параметры значения
alternative

альтернативное выражение.

Унаследовано от Option

Исходный код@inline
final def orNull[A1](implicit ev: Null <:< A1): A1

Возвращает значение параметра, если он не пуст, или null если он пуст.

Хотя использование null не рекомендуется, код, написанный для использования scala.Option, часто должен взаимодействовать с кодом, который ожидает и возвращает null.

Это эквивалентно:

option match {
 case Some(x) => x
 case None    => null
}
Пример
val initialText: Option[String] = getInitialText
val textField = new JComponent(initialText.orNull,20)
Унаследовано от Option

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

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

Унаследовано от Product

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

Итератор по всем элементам этого продукта.

Возвращает

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

Унаследовано от Product

Исходный код
def stepper[S <: Stepper[_]](implicit shape: StepperShape[Nothing, S]): S

Возвращает scala.collection.Stepper для элементов этого набора.

END_OF_DOCUMENT_MARKER ```

Stepper позволяет создать Java-поток для обработки коллекции, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться в качестве итератора, который не упаковывает элементы.

Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этой коллекции.

  • Для коллекций Int, Short, Byte или Char, возвращается scala.collection.IntStepper

  • Для коллекций Double или Float, возвращается scala.collection.DoubleStepper

  • Для коллекций Long возвращается scala.collection.LongStepper

  • Для любого другого типа элементов возвращается scala.collection.AnyStepper

Обратите внимание, что этот метод переопределен в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например, scala.collection.IndexedSeqOps.stepper. Для Steppers, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Steppers могут быть преобразованы только в последовательные потоки.

Унаследовано от IterableOnce

Источник@inline
final def toLeft[X](right: => X): Either[Nothing, X]

Возвращает scala.util.Right, содержащую переданный аргумент right , если этот объект пустой, или scala.util.Left, содержащую значение этого scala.Option, если этот scala.Option непустой.

Это эквивалентно:

option match {
 case Some(x) => Left(x)
 case None    => Right(right)
}
Параметры значения
right

выражение, которое вычисляется и возвращается, если этот объект пустой

См. также

toRight

Унаследовано от Option

Источник
def toList: List[Nothing]

Возвращает список, содержащий единственный элемент — значение scala.Option, если он не пустой, или пустой список, если scala.Option пустой.

Это эквивалентно:

option match {
 case Some(x) => List(x)
 case None    => Nil
}
Унаследовано от Option

Источник@inline
final def toRight[X](left: => X): Either[X, Nothing]

Возвращает scala.util.Left, содержащую переданный аргумент left , если этот scala.Option пустой, или scala.util.Right, содержащую значение этого scala.Option, если он непустой.

Это эквивалентно:

option match {
 case Some(x) => Right(x)
 case None    => Left(left)
}
Параметры значения
left

выражение, которое вычисляется и возвращается, если этот объект пустой

См. также

toLeft

Унаследовано от Option

Источник
final def unzip[A1, A2](implicit asPair: Nothing <:< (A1, A2)): (Option[A1], Option[A2])

Преобразует Option пары в Option первого элемента и Option второго элемента.

Это эквивалентно:

option match {
  case Some((x, y)) => (Some(x), Some(y))
  case _            => (None,    None)
}
Параметры типа
A1

тип первой половины пары элементов

A2

тип второй половины пары элементов

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

неявное преобразование, которое утверждает, что тип элемента этого Option — пара.

Возвращает

пара Option, содержащая соответственно первую и вторую половины пары элементов этого Option.

Унаследовано от Option

Источник
final def unzip3[A1, A2, A3](implicit asTriple: Nothing <:< (A1, A2, A3)): (Option[A1], Option[A2], Option[A3])

Преобразует Option тройки в три Option, каждый из которых содержит элемент из соответствующей позиции тройки.

Это эквивалентно:

option match {
  case Some((x, y, z)) => (Some(x), Some(y), Some(z))
  case _               => (None,    None,    None)
}
Параметры типа
A1

тип первого из трех элементов в тройке

A2

тип второго из трех элементов в тройке

A3

тип третьего из трех элементов в тройке

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

неявное преобразование, которое утверждает, что тип элемента этого Option — тройка.

Возвращает

тройка Option, содержащая соответственно первый, второй и третий элементы из тройки элементов этого Option.

Унаследовано от Option

Источник@inline
final def withFilter(p: Nothing => Boolean): WithFilter

Необходим для предотвращения неявного преобразования scala.Option в scala.collection.Iterable в for выражениях.

Унаследовано от Option

Источник
final def zip[A1, B](that: Option[B]): Option[(A1, B)]

Возвращает scala.Some, образованный из этого Option и другого Option путём объединения соответствующих элементов в пару. Если один из двух Options пустой, возвращается None.

Это эквивалентно:

(option1, option2) match {
  case (Some(x), Some(y)) => Some((x, y))
  case _                  => None
}
Параметры значения
that

Option, который будет объединён

Пример
// Returns Some(("foo", "bar")) because both options are nonempty.
Some("foo") zip Some("bar")
// Returns None because `that` option is empty.
Some("foo") zip None
// Returns None because `this` option is empty.
None zip Some("bar")
Унаследовано от Option

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

Spec-Zone.ru

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