Класс Some.Some
Класс Some[A] представляет существующие значения типа A.
| Надтипы |
|---|
Унаследованные классы
Исходный код
класс WithFilter(p: A => Boolean)
Нам нужен целый класс WithFilter, чтобы соблюсти контракт "не создает новую коллекцию", даже если это кажется маловероятным в коллекции с максимальным размером 1.
| Унаследовано от | Option |
|---|
Конкретные методы
Исходный код
def get: A
Возвращает значение опции.
Это эквивалентно:
option match {
case Some(x) => x
case None => throw new Exception
}
| Выбрасывает |
|
|---|---|
| Примечание | Опция должна быть непустой. |
Унаследованные методы
Исходный код
Возвращает scala.Some, содержащий результат применения pf к этому значению scala.Option, если эта опция непустая и pf определена для этого значения. Возвращает 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 |
Исходный код
Проверяет, содержит ли опция заданное значение в качестве элемента.
Это эквивалентно:
option match {
case Some(x) => x == elem
case None => 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 |
Исходный код
Возвращает true, если эта опция непустая и предикат p возвращает true при применении к значению этой scala.Option. В противном случае возвращает false.
Это эквивалентно:
option match {
case Some(x) => p(x)
case None => false
}
| Параметры значения |
|
|---|---|
| Унаследовано от | Option |
Исходный код
Возвращает эту scala.Option, если она непустая и применение предиката p к значению этой scala.Option возвращает true. В противном случае возвращает None.
Это эквивалентно:
option match {
case Some(x) if p(x) => Some(x)
case _ => None
}
| Параметры значения |
|
|---|---|
| Унаследовано от | Option |
Исходный код
Возвращает эту scala.Option, если она непустая и применение предиката p к значению этой scala.Option возвращает false. В противном случае возвращает None.
Это эквивалентно:
option match {
case Some(x) if !p(x) => Some(x)
case _ => None
}
| Параметры значения |
|
|---|---|
| Унаследовано от | Option |
Исходный код
Возвращает результат применения f к значению этой scala.Option, если эта scala.Option непуста. Возвращает None если эта scala.Option пуста. Несколько отличается от map в том, что f ожидается, что вернёт scala.Option (который может быть None).
Это эквивалентно:
option match {
case Some(x) => f(x)
case None => None
}
| Параметры значения |
|
|---|---|
| См. также |
map foreach |
| Унаследовано от | Option |
Исходный код
Возвращает вложенное значение scala.Option, если оно непусто. В противном случае возвращает None.
Это эквивалентно:
option match {
case Some(Some(b)) => Some(b)
case _ => None
}
| Параметры значения |
|
|---|---|
| См. также | flatMap |
| Пример |
Some(Some("something")).flatten
|
| Унаследовано от | Option |
Исходный код
final def fold[B](ifEmpty: => B)(f: A => B): B
Возвращает результат применения f к значению этой scala.Option, если scala.Option непуста. В противном случае вычисляет выражение ifEmpty.
Это эквивалентно:
option match {
case Some(x) => f(x)
case None => ifEmpty
}
Это также эквивалентно:
option map f getOrElse ifEmpty
| Параметры значения |
|
|---|---|
| Унаследовано от | Option |
Исходный код
Возвращает true, если эта опция пуста или предикат p возвращает true при применении к значению этой scala.Option.
Это эквивалентно:
option match {
case Some(x) => p(x)
case None => true
}
| Параметры значения |
|
|---|---|
| Унаследовано от | Option |
Исходный код
Применяет заданную процедуру f к значению опции, если она непустая. В противном случае ничего не делает.
Это эквивалентно:
option match {
case Some(x) => f(x)
case None => ()
}
| Параметры значения |
|
|---|---|
| См. также |
map flatMap |
| Унаследовано от | Option |
Исходный код
final def getOrElse[B >: A](default: => B): B
Возвращает значение опции, если опция непуста, в противном случае возвращает результат вычисления default.
Это эквивалентно:
option match {
case Some(x) => x
case None => default
}
| Параметры значения |
|
|---|---|
| Унаследовано от | Option |
Источник
Возвращает true, если опция является экземпляром scala.Some, иначе false.
Это эквивалентно:
option match {
case Some(_) => true
case None => false
}
| Унаследовано от | Option |
|---|
Источник
Возвращает true, если опция пустая, иначе false.
Это эквивалентно:
option match {
case Some(_) => false
case None => true
}
| Унаследовано от | Option |
|---|
Источник
Возвращает итератор, возвращающий значение scala.Option, если оно непусто, или пустой итератор, если опция пустая.
| Унаследовано от | Option |
|---|
Источник
| Возвращает | Количество элементов в этой опции, если его можно вычислить быстро, иначе -1. Быстрый обычно означает: Не требует обхода коллекции. |
|---|---|
| Классы определения | Option -> IterableOnce |
| Унаследовано от | Option |
Источник
Возвращает scala.Some, содержащий результат применения f к значению этой scala.Option, если эта scala.Option непустая. В противном случае возвращает None.
Это эквивалентно:
option match {
case Some(x) => Some(f(x))
case None => None
}
| Параметры значения |
|
|---|---|
| См. также |
flatMap foreach |
| Примечание | Это похоже на |
| Унаследовано от | Option |
Источник
Возвращает false, если опция пустая, иначе true.
Это эквивалентно:
option match {
case Some(_) => true
case None => false
}
| Примечание | Реализовано здесь, чтобы избежать неявного преобразования в Iterable. |
|---|---|
| Унаследовано от | Option |
Источник
Возвращает эту scala.Option, если она непустая, иначе возвращает результат вычисления alternative.
Это эквивалентно:
option match {
case Some(x) => Some(x)
case None => alternative
}
| Параметры значения |
|
|---|---|
| Унаследовано от | Option |
Источник
Возвращает значение опции, если она непустая, или 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 |
Источник
Итератор по именам всех элементов этого произведения.
| Унаследовано от | Product |
|---|
Источник
Итератор по всем элементам этого произведения.
| Возвращает | в реализации по умолчанию, |
|---|---|
| Унаследовано от | Product |
Источник
Возвращает scala.collection.Stepper для элементов этой коллекции.
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. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper можно преобразовать только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Источник
Возвращает scala.util.Right, содержащий заданный аргумент right , если опция пустая, или scala.util.Left, содержащий значение этой scala.Option, если эта scala.Option непустая.
Это эквивалентно:
option match {
case Some(x) => Left(x)
case None => Right(right)
}
| Параметры значения |
|
|---|---|
| См. также | toRight |
| Унаследовано от | Option |
Источник
Возвращает одноэлементный список, содержащий значение scala.Option, если оно непустое, или пустой список, если scala.Option пустой.
Это эквивалентно:
option match {
case Some(x) => List(x)
case None => Nil
}
| Унаследовано от | Option |
|---|
Источник
Возвращает scala.util.Left, содержащий заданный аргумент left , если scala.Option пустой, или scala.util.Right, содержащий значение этой scala.Option, если она непустая.
Это эквивалентно:
option match {
case Some(x) => Right(x)
case None => Left(left)
}
| Параметры значения |
|
|---|---|
| См. также | toLeft |
| Унаследовано от | Option |
Источник
Преобразует Option пары в Option первого элемента и Option второго элемента.
Это эквивалентно:
option match {
case Some((x, y)) => (Some(x), Some(y))
case _ => (None, None)
}
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | пара Options, содержащая соответственно первую и вторую половину пары элементов этого Option. |
| Унаследовано от | Option |
Источник
Преобразует Option тройки в три Option, каждый из которых содержит элемент из соответствующей позиции тройки.
Это эквивалентно:
option match {
case Some((x, y, z)) => (Some(x), Some(y), Some(z))
case _ => (None, None, None)
}
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | тройка Options, содержащая соответственно первый, второй и третий элементы из тройки элементов этого Option. |
| Унаследовано от | Option |
Источник
Необходимо, чтобы scala.Option не преобразовывался неявно в scala.collection.Iterable в for выражениях.
| Унаследовано от | Option |
|---|
Источник
Возвращает scala.Some, образованный из этого Option и другого Option путём объединения соответствующих элементов в пару. Если один из двух Options пустой, возвращается None.
Это эквивалентно:
(option1, option2) match {
case (Some(x), Some(y)) => Some((x, y))
case _ => None
}
| Параметры значения |
|
|---|---|
| Пример |
// 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.2.0/scala/Some.html