Класс scala.Some
@SerialVersionUID(1234815782226070388L)
Класс Some[A] представляет существующие значения типа A.
| Надтипы |
|---|
Наследуемые классы
Исходный код
класс WithFilter(p: A => Boolean)
Нам нужен целый класс WithFilter, чтобы соблюдать контракт «не создаёт новую коллекцию», хотя в коллекции с максимальным размером 1 это, вероятно, не имеет большого значения.
| Наследованный от | Option |
|---|
Конкретные методы
Исходный код
def get: A
Наследуемые методы
Исходный код@inline
Возвращает 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 |
Исходный код@inline
Возвращает true, если этот параметр не пуст, и предикат p возвращает true, когда он применяется к значению этого scala.Option. В противном случае возвращает false.
Это эквивалентно:
option match {
case Some(x) => p(x)
case None => false
}
| Параметры значений |
|
|---|---|
| Наследованный от | Option |
Исходный код@inline
Возвращает этот scala.Option, если он не пустой, и применение предиката p к значению этого scala.Option возвращает true. В противном случае возвращает None.
Это эквивалентно:
option match {
case Some(x) if p(x) => Some(x)
case _ => None
}
| Параметры значений |
|
|---|---|
| Наследованный от | Option |
Исходный код@inline
Возвращает этот scala.Option, если он не пустой, и применение предиката p к значению этого scala.Option возвращает false. В противном случае возвращает None.
Это эквивалентно:
option match {
case Some(x) if !p(x) => Some(x)
case _ => None
}
| Параметры значений |
|
|---|---|
| Наследованный от | Option |
Исходный код@inline
Возвращает результат применения 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 |
Исходный код@inline
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 |
Исходный код@inline
Возвращает true, если этот параметр пуст или предикат p возвращает true, когда применяется к значению этого scala.Option.
Это эквивалентно:
option match {
case Some(x) => p(x)
case None => true
}
| Параметры значений |
|
|---|---|
| Наследованный от | Option |
Исходный код@inline
Применяет заданную процедуру f к значению параметра, если он не пуст. В противном случае ничего не делает.
Это эквивалентно:
option match {
case Some(x) => f(x)
case None => ()
}
| Параметры значений |
|
|---|---|
| См. также |
map flatMap |
| Наследованный от | Option |
Исходный код@inline
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 |
|---|
Исходный код
| Классы-предки | Option -> IterableOnce |
|---|---|
| Унаследовано от | Option |
Исходный код@inline
Возвращает 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 |
Исходный код@inline
Возвращает этот scala.Option, если он не пустой, в противном случае возвращает результат вычисления alternative.
Это эквивалентно:
option match {
case Some(x) => Some(x)
case None => alternative
}
| Параметры значения |
|
|---|---|
| Унаследовано от | Option |
Исходный код@inline
Возвращает значение опции, если она не пустая, или 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. Для Steppers, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Steppers можно преобразовать только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Исходный код@inline
Возвращает 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 |
|---|
Исходный код@inline
Возвращает 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 |
Исходный код@inline
Необходимо для предотвращения неявного преобразования scala.Option в scala.collection.Iterable в for выражениях.
| Унаследовано от | Option |
|---|
Исходный код
Возвращает scala.Some, образованную из этого Option и другого Option путем объединения соответствующих элементов в пару. Если любой из двух Option пуст, возвращается 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.1.1/scala/Some.html