Класс scala.Some
final case class Some[+A](value: A) extends Option[A] with Product with Serializable
Конструкторы экземпляров
new Some(value: A)
Типовые члены
class WithFilter extends AnyRef
Нам нужен целый класс WithFilter, чтобы соблюсти контракт "не создает новую коллекцию", даже если вряд ли это будет важно в коллекции с максимальным размером 1.
- Определяющие классы
- Option
Значения членов
final def !=(arg0: Any): Boolean
Тестирование двух объектов на неравенство.
- returns
trueесли !(this == that), в противном случае false.
- Definition Classes
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэша, которое согласуется с равенством значений: если два экземпляра типа значения сравниваются как true, то ## возвращает одинаковое значение хэша для каждого из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.
- returns
значение хэша, согласованное с ==
- Definition Classes
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавляется с помощью неявного преобразования из Some[A] в any2stringadd[Some[A]], выполненное методом any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
final def ++[B >: A](suffix: collection.IterableOnce[B]): collection.Iterable[B]
Псевдоним для concat
- Неявный
- Этот член добавляется с помощью неявного преобразования из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Definition Classes
- IterableOps
- Annotations
- @inline()
def ->[B](y: B): (Some[A], B)
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вArrowAssoc[Some[A]] посредством метода ArrowAssoc в scala.Predef.
- Классы определений
- ArrowAssoc
- Аннотации
- @inline()
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- возвращает
true, если объект получателя эквивалентен аргументу;falseв противном случае.
- Классы определений
- AnyRef → Any
final def addString(b: collection.mutable.StringBuilder): collection.mutable.StringBuilder
Добавляет все элементы этой коллекции итерируемых элементов в строковый буфер. Текст, который будет записан, состоит из строковых представлений (относительно метода toString) всех элементов этой коллекции итерируемых элементов без какой-либо разделительной строки.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
- b
строковый буфер, в который добавляются элементы.
- возвращает
строковый буфер
b, в который были добавлены элементы.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] посредством метода option2Iterable в scala.Option.
- Классы определений
- IterableOnceOps
- Аннотации
- @inline()
final def addString(b: collection.mutable.StringBuilder, sep: String): collection.mutable.StringBuilder
Добавляет все элементы этого итерируемого набора в строковый буфер с использованием разделительной строки. Записанный текст состоит из строковых представлений (с учётом метода toString) всех элементов этого итерируемого набора, разделенных строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
- b
строковый буфер, в который добавляются элементы.
- sep
разделительная строка.
- returns
строковый буфер
b, в который были добавлены элементы.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] в методе option2Iterable в scala.Option.
- Классы определений
- IterableOnceOps
- Аннотации
- @inline()
def addString(b: collection.mutable.StringBuilder, start: String, sep: String, end: String): collection.mutable.StringBuilder
Добавляет все элементы этого итерируемого набора в строковый буфер, используя начальную, конечную и разделительную строки. Записанный текст начинается со строки start и заканчивается строкой end. Внутри, строковые представления (с учётом метода toString) всех элементов этого итерируемого набора разделяются строкой sep.
Пример:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
- b
строковый буфер, в который добавляются элементы.
- start
начальная строка.
- sep
разделительная строка.
- end
конечная строка.
- returns
строковый буфер
b, в который были добавлены элементы.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] в методе option2Iterable в scala.Option.
- Классы определений
- IterableOnceOps
final def asInstanceOf[T0]: T0
Преобразовать объект-получатель в тип T0.
Обратите внимание, что успех приведения типов во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит исключение ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, из-за стирания аргументов типа во время компиляции, невозможно проверить, соответствуют ли элементы списка требуемому типу.
- возвращает
объект-получатель.
- Классы-определения
- Any
- Исключения
ClassCastException, если объект-получатель не является экземпляром стираемого типаT0.
def clone(): AnyRef
Создать копию объекта-получателя.
По умолчанию метод clone зависит от платформы.
- возвращает
копия объекта-получателя.
final def collect[B](pf: PartialFunction[A, B]): Option[B]
Возвращает scala.Some содержащий результат применения pf к значению, содержащемуся в этом scala.Option, если этот параметр непустой и pf определено для этого значения. В противном случае возвращает None.
- pf
частичная функция.
- возвращает
результат применения
pfк значению этого scala.Option (если возможно) илиNone.
- Классы-определения
- Option
- Аннотации
- @inline()
// 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}
def collectFirst[B](pf: PartialFunction[A, B]): Option[B]
Находит первый элемент итерируемого набора, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции упорядочен.
- pf
частичная функция
- returns
значение Option, содержащее pf, применённое к первому значению, для которого оно определено, или
None, если такого значения нет.
- Неявный
- Этот член добавляется неявным преобразованием из Some[A] вIterable[A] посредством метода option2Iterable в scala.Option.
- Определяющие классы
- IterableOnceOps
Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)
def concat[B >: A](suffix: collection.IterableOnce[B]): collection.Iterable[B]
Возвращает новый итерируемый набор, содержащий элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов итерируемого набора — это наиболее общий суперкласс, охватывающий типы элементов двух операндов.
- B
тип элементов возвращаемого набора.
- suffix
перебираемый набор для добавления.
- returns
новый итерируемый набор, содержащий все элементы этого итерируемого набора, за которыми следуют все элементы
suffix.
- Неявный
- Этот член добавляется неявным преобразованием из Some[A] вIterable[A] посредством метода option2Iterable в scala.Option.
- Определяющие классы
- IterableOps
final def contains[A1 >: A](elem: A1): Boolean
Проверяет, содержит ли вариант заданное значение в качестве элемента.
Это эквивалентно:
option match {
case Some(x) => x == elem
case None => false
}
- elem
элемент для проверки.
- returns
trueесли у варианта есть элемент, равный (как определено==)elem,falseв противном случае.
- Определяющие классы
- Option
// 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"
def copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Int
Копировать элементы в массив, возвращая количество записанных элементов.
Заполняет заданный массив xs начиная с индекса start максимум len элементами этого итерируемого набора.
Копирование прекратится, как только будут скопированы все элементы этого итерируемого набора, или будет достигнут конец массива, или len элементов.
- B
тип элементов массива.
- xs
массив для заполнения.
- start
начальный индекс xs.
- len
максимальное количество копируемых элементов.
- returns
количество элементов, записанных в массив
- Implicit
- Этот член добавлен неявно посредством неявного преобразования из Some[A] вIterable[A] , выполненного методом option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
- Note
Повторное использование: После вызова этого метода итератор, на котором он был вызван, следует удалить. Использование его неопределено и может быть изменено. Примечание: не будет завершаться для коллекций бесконечного размера.
def copyToArray[B >: A](xs: Array[B], start: Int): Int
Копировать элементы в массив, возвращая количество записанных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого итерируемого набора.
Копирование прекратится, как только будут скопированы все элементы этого итерируемого набора, или будет достигнут конец массива.
- B
тип элементов массива.
- xs
массив для заполнения.
- start
начальный индекс xs.
- returns
количество элементов, записанных в массив. Примечание: не будет завершаться для коллекций бесконечного размера.
- Implicit
- Этот член добавлен неявно посредством неявного преобразования из Some[A] вIterable[A] , выполненного методом option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
def copyToArray[B >: A](xs: Array[B]): Int
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этого итерируемого набора.
Копирование прекратится, как только будут скопированы все элементы этого итерируемого набора или будет достигнут конец массива.
- B
тип элементов массива.
- xs
массив для заполнения.
- returns
количество элементов, записанных в массив. Примечание: не будет завершено для коллекций бесконечного размера.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] при помощи метода option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
def corresponds[B](that: collection.IterableOnce[B])(p: (A, B) => Boolean): Boolean
Проверяет, соответствуют ли все элементы итератора этой коллекции соответствующим элементам другой коллекции, удовлетворяя условию предиката.
- B
тип элементов
that- that
другая коллекция
- p
предикат проверки, который связывает элементы обеих коллекций
- returns
trueесли обе коллекции имеют одинаковую длину иp(x, y)равноtrueдля всех соответствующих элементовxэтого итератора иyэлементовthat, в противном случаеfalse
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] при помощи метода option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
def drop(n: Int): collection.Iterable[A]
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
количество элементов, которые нужно удалить из этой итерируемой коллекции.
- returns
итерируемая коллекция, содержащая все элементы этой итерируемой коллекции, кроме первых
nэлементов, или же пустая итерируемая коллекция, если в этой итерируемой коллекции меньше чемnэлементов. Еслиnотрицательное, то элементы не удаляются.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A], выполненное методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOps → IterableOnceOps
- Примечание
Повторное использование: после вызова этого метода нужно удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе тоже.
def dropRight(n: Int): collection.Iterable[A]
Выбирает все элементы, кроме последних n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
количество элементов, которые нужно удалить из этой итерируемой коллекции.
- returns
итерируемая коллекция, содержащая все элементы этой итерируемой коллекции, кроме последних
nэлементов, или же пустая итерируемая коллекция, если в этой итерируемой коллекции меньше чемnэлементов. Еслиnотрицательное, то элементы не удаляются.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A], выполненное методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOps
def dropWhile(p: (A) => Boolean): collection.Iterable[A]
Удаляет самую длинную префиксную часть элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора данных не является упорядоченным.
- p
Предикат, используемый для проверки элементов.
- returns
наиболее длинный суффикс этого итерируемого набора данных, первый элемент которого не удовлетворяет предикату
p.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A], выполненным методом option2Iterable в scala.Option.
- Классы-определения
- IterableOps → IterableOnceOps
- Примечание
Повторное использование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только тот итератор, который был возвращён. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе тоже.
def empty: collection.Iterable[A]
Пустой итерируемый набор того же типа, что и этот итерируемый набор
- returns
пустой итерируемый набор типа
C.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A], выполненным методом option2Iterable в scala.Option.
- Классы-определения
- IterableFactoryDefaults → IterableOps
def ensuring(cond: (Some[A]) => Boolean, msg: => Any): Some[A]
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Ensuring[Some[A]] выполненным методом Ensuring в scala.Predef.
- Классы-определения
- Ensuring
def ensuring(cond: (Some[A]) => Boolean): Some[A]
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Ensuring[Some[A]] с помощью метода Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Some[A]
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Ensuring[Some[A]] с помощью метода Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: Boolean): Some[A]
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Ensuring[Some[A]] с помощью метода Ensuring в scala.Predef.
- Классы определения
- Ensuring
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и обладает тремя дополнительными свойствами:
-
Он согласован: для любых непустых экземпляров
x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого непустого экземпляра x типа AnyRef, вызовы x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true. При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и они должны иметь одинаковые хеши (o1.hashCode == o2.hashCode).
- возвращает
trueесли аргумент является ссылкой на объект-получатель;falseв противном случае.
- Классы определения
- AnyRef
final def exists(p: (A) => Boolean): Boolean
Возвращает true, если данная опция не пустая и предикат p возвращает true при применении к значению этого scala.Option. В противном случае возвращает false.
Это эквивалентно:
option match {
case Some(x) => p(x)
case None => false
}
- p
предикат для проверки
final def filter(p: (A) => Boolean): Option[A]
Возвращает этот scala.Option, если он не пустой и применение предиката p к значению этого scala.Option возвращает true. В противном случае возвращает None.
Это эквивалентно:
option match {
case Some(x) if p(x) => Some(x)
case _ => None
}
- p
предикат для проверки.
final def filterNot(p: (A) => Boolean): Option[A]
Возвращает этот scala.Option, если он не пустой и применение предиката p к значению этого scala.Option возвращает false. В противном случае возвращает None.
Это эквивалентно:
option match {
case Some(x) if !p(x) => Some(x)
case _ => None
}
- p
предикат для проверки.
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда к объекту больше нет ссылок.
Подробности о том, когда и будет ли вызываться метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.
final def flatMap[B](f: (A) => 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
функция для применения
def flatten[B](implicit ev: <:<[A, Option[B]]): Option[B]
Возвращает вложенное значение scala.Option, если оно непустое. В противном случае возвращает None.
Это эквивалентно:
option match {
case Some(Some(b)) => Some(b)
case _ => None
}
- ev
явное преобразование, которое утверждает, что значение также является scala.Option.
- Definition Classes
- Option
- See also
flatMap
Some(Some("something")).flatten
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
- ifEmpty
выражение для вычисления, если пусто.
- f
функция для применения, если непусто.
def foldLeft[B](z: B)(op: (B, A) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этого итерируемого набора, слева направо.
Примечание: не будет завершаться для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого набора слева направо с начальным значениемzслева:op(...op(z, x_1), x_2, ..., x_n)
где
x1, ..., xn— элементы этого итерируемого набора. Возвращаетzесли этот итерируемый набор пуст.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] через метод option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
def foldRight[B](z: B)(op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этого итерируемого набора и начальному значению, справа налево.
Примечание: не будет завершаться для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого набора справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— элементы этого итерируемого набора. Возвращаетzесли этот итерируемый набор пуст.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] через метод option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
final def forall(p: (A) => Boolean): Boolean
Возвращает true, если этот параметр пуст или предикат p возвращает true, когда применяется к значению этого scala.Option.
Это эквивалентно:
option match {
case Some(x) => p(x)
case None => true
}
- p
предикат для проверки
final def foreach[U](f: (A) => U): Unit
Применяет заданную процедуру f к значению параметра, если оно не пусто. В противном случае ничего не делает.
Это эквивалентно:
option match {
case Some(x) => f(x)
case None => ()
}
- f
процедура для применения.
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной format строкой. Строки форматирования аналогичны String.format (@см. java.lang.String.format).
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в StringFormat[Some[A]], выполненным методом StringFormat в scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
def get: A
Возвращает значение параметра.
Это эквивалентно:
option match {
case Some(x) => x
case None => throw new Exception
}
final def getClass(): Class[_ <: AnyRef]
final def getOrElse[B >: A](default: => B): B
Возвращает значение опции, если опция непустая, иначе возвращает результат вычисления default.
Это эквивалентно:
option match {
case Some(x) => x
case None => default
}
- default
выражение по умолчанию.
def groupBy[K](f: (A) => K): Map[K, collection.Iterable[A]]
Разделяет это итерируемое коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут форсироваться.
- K
тип ключей, возвращаемых функцией-дискриминатором.
- f
функция-дискриминатор.
- returns
-
Карта, сопоставляющая ключи итерируемым коллекциям, для которой выполняется следующее инвариантное свойство:
(xs groupBy f)(k) = xs filter (x => f(x) == k)
То есть, каждый ключ
kсопоставляется с итерируемой коллекцией тех элементовx, для которыхf(x)равноk.
- Implicit
- Этот член добавлен с помощью неявного преобразования из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Definition Classes
- IterableOps
def groupMap[K, B](key: (A) => K)(f: (A) => B): Map[K, collection.Iterable[B]]
Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором key. Каждый элемент в группе преобразуется в значение типа B с использованием функции value.
Эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
- K
тип ключей, возвращаемых функцией-дискриминатором
- B
тип значений, возвращаемых функцией преобразования
- key
функция-дискриминатор
- f
функция преобразования элементов
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] посредством метода option2Iterable в scala.Option.
- Definition Classes
- IterableOps
def groupMapReduce[K, B](key: (A) => K)(f: (A) => B)(reduce: (B, B) => B): Map[K, B]
Разделяет эту итерируемую коллекцию на карту в соответствии с функцией-дискриминатором key. Все значения с одинаковым дискриминатором затем преобразуются функцией value и затем сводятся к одному значению функцией reduce.
Эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.
def occurrences[A](as: Seq[A]): Map[A, Int] = as.groupMapReduce(identity)(_ => 1)(_ + _)
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] посредством метода option2Iterable в scala.Option.
- Definition Classes
- IterableOps
def grouped(size: Int): collection.Iterator[collection.Iterable[A]]
Разделяет элементы на итерируемые коллекции фиксированного размера.
- размер
количество элементов в группе
- возвращает
Итератор, производящий итерируемые коллекции размером
size, за исключением последней, которая будет меньше размераsize, если элементы не делятся равномерно.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOps
- См. также
scala.collection.Iterator, метод
grouped
def head: A
Выбирает первый элемент этой итерируемой коллекции.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции в основе не упорядочен.
- возвращает
первый элемент этой итерируемой коллекции.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOps
- Исключения
NoSuchElementException, если итерируемая коллекция пуста.
def headOption: Option[A]
Возвращает первый элемент или None, если коллекция пуста.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции в основе не упорядочен.
- возвращает
первый элемент этой итерируемой коллекции, если она непуста,
Noneв противном случае.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOps
def init: collection.Iterable[A]
Часть коллекции без последнего элемента.
Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принудительно обрабатывать элементы.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOps
def inits: collection.Iterator[collection.Iterable[A]]
Итерируется по начальным фрагментам (inits) этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, промежуточные значения будут результатами последовательных применений init.
Примечание: Даже при применении к представлению или ленивому набору, элементы всегда будут форсироваться.
- returns
итератор по всем начальным фрагментам (inits) этого итерируемого набора
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] выполняемого методом option2Iterable в scala.Option.
- Definition Classes
- IterableOps
List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)
final def isDefined: Boolean
Возвращает true, если опция является экземпляром scala.Some, иначе false.
Это эквивалентно:
option match {
case Some(_) => true
case None => false
}
- Definition Classes
- Option
final def isEmpty: Boolean
Возвращает true, если опция является None, иначе false.
Это эквивалентно:
option match {
case Some(_) => false
case None => true
}
- Definition Classes
- Option
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат проверки учитывает семантику стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку аргумент типа стирается во время компиляции, проверить, являются ли элементы списка указанного типа, невозможно.
- returns
trueесли объект-получатель является экземпляром стирания типаT0;falseв противном случае.
- Definition Classes
- Any
def isTraversableAgain: Boolean
Проверяет, можно ли многократно проходить по этому итерируемому набору. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.
- returns
trueесли он многократно просматривается,falseв противном случае.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] выполняемое методом option2Iterable в scala.Option.
- Definition Classes
- IterableOps → IterableOnceOps
def iterableFactory: IterableFactory[collection.Iterable]
Объект-компаньон этого итерируемого набора, предоставляющий различные методы создания.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] выполняемое методом option2Iterable в scala.Option.
- Definition Classes
- Iterable → IterableOps
- Note
При реализации пользовательского типа коллекции и уточнении
CCдо нового типа, этот метод должен быть переопределен для возврата фабрики для нового типа (в противном случае компилятор выдаст ошибку).
def iterator: Iterator[A]
Возвращает одиночный итератор, возвращающий значение scala.Option, если оно непусто, или пустой итератор, если опция пуста.
- Definition Classes
- Option → IterableOnce
final def knownSize: Int
- returns
Количество элементов в этой опции, если его можно легко вычислить, в противном случае -1. Легко обычно означает: Не требует обхода коллекции.
- Definition Classes
- Option → IterableOnce
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- возвращает
Последний элемент этой итерируемой коллекции.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] при выполнении метода option2Iterable в scala.Option.
- Определяющие классы
- IterableOps
- Исключения
NoSuchElementException, если итерируемая коллекция пуста.
def lastOption: Option[A]
Выбирает последний элемент необязательно.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- возвращает
последний элемент этой итерируемой коллекции, если она непуста,
Noneесли она пуста.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] при выполнении метода option2Iterable в scala.Option.
- Определяющие классы
- IterableOps
def lazyZip[B]: ([B](that: Iterable[B])scala.collection.LazyZip2[A,B,_1.type]) forSome {val _1: collection.Iterable[A]}
Аналогично zip , но элементы в каждой коллекции не потребляются до тех пор, пока не будет вызвано строгое действие над возвращаемым декоратором LazyZip2.
Вызовы lazyZip могут быть объединены для поддержки более высоких арностей (до 4) без необходимости построения и декомпозиции промежуточных кортежей.
val xs = List(1, 2, 3) val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d) // res == List(4, 8, 12)
- B
тип второго элемента в каждой возможной паре
- возвращает
декоратор
LazyZip2, который позволяет выполнять строгие операции над лениво вычисляемыми парами или объединёнными вызовамиlazyZip. Также поддерживается неявное преобразование вIterable[(A, B)].
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] при выполнении метода option2Iterable в scala.Option.
- Определяющие классы
- Iterable
final def map[B](f: (A) => B): Option[B]
Возвращает scala.Some, содержащий результат применения f к значению этого scala.Option, если этот scala.Option не пустой. В противном случае возвращает None.
Это эквивалентно:
option match {
case Some(x) => Some(f(x))
case None => None
}
- f
функция для применения
- Definition Classes
- Option
- Annotations
- @inline()
- Примечание
Это аналогично
flatMapза исключением того, чтоfне нужно обертывать результат в scala.Option.- См. также
-
flatMap
foreach
def max[B >: A](implicit ord: math.Ordering[B]): A
Находит наибольший элемент.
- B
Тип, по которому определено упорядочение.
- ord
Порядок, который используется для сравнения элементов.
- возвращает
наибольший элемент этого итерируемого набора относительно порядка
ord.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A], выполненное методом option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
- Исключения
UnsupportedOperationException, если этот итерируемый набор пуст.
def maxBy[B](f: (A) => B)(implicit cmp: math.Ordering[B]): A
Находит первый элемент, который даёт наибольшее значение, измеряемое функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Порядок, используемый для сравнения элементов.
- returns
первый элемент этого итерируемого набора с наибольшим значением, измеренным функцией f относительно порядка
cmp.
- Implicit
- Этот член добавлен с помощью неявного преобразования из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationException, если этот итерируемый набор пуст.
def maxByOption[B](f: (A) => B)(implicit cmp: scala.math.Ordering[B]): Option[A]
Находит первый элемент, который даёт наибольшее значение, измеряемое функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Порядок, используемый для сравнения элементов.
- returns
значение Option, содержащее первый элемент этого итерируемого набора с наибольшим значением, измеренным функцией f относительно порядка
cmp.
- Implicit
- Этот член добавлен с помощью неявного преобразования из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
def maxOption[A](implicit ord: scala.math.Ordering[B]): Option[A]
Находит наибольший элемент.
- B
Тип, по которому определено упорядочение.
- ord
Упорядочение, используемое для сравнения элементов.
- returns
значение Option, содержащее наибольший элемент этого итерируемого набора коллекций по отношению к порядку
ord.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
def min[B >: A](implicit ord: scala.math.Ordering[B]): A
Находит наименьший элемент.
- B
Тип, по которому определено упорядочение.
- ord
Упорядочение, используемое для сравнения элементов.
- returns
наименьший элемент этого итерируемого набора коллекций по отношению к порядку
ord.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
- Исключения
UnsupportedOperationException, если этот итерируемый набор коллекций пустой.
def minBy[B](f: (A) => B)(implicit cmp: scala.math.Ordering[B]): A
Находит первый элемент, который даёт наименьшее значение, измеряемое функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Порядок, используемый для сравнения элементов.
- returns
первый элемент этого итерируемого набора с наименьшим значением, измеренным функцией f относительно порядка
cmp.
- Implicit
- Этот член добавляется неявным преобразованием из Some[A] в Iterable[A] при выполнении метода option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationException, если этот итерируемый набор пуст.
def minByOption[B](f: (A) => B)(implicit cmp: scala.math.Ordering[B]): Option[A]
Находит первый элемент, который даёт наименьшее значение, измеряемое функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Порядок, используемый для сравнения элементов.
- returns
значения в виде объекта Option, содержащего первый элемент этого итерируемого набора с наименьшим значением, измеренным функцией f относительно порядка
cmp.
- Implicit
- Этот член добавляется неявным преобразованием из Some[A] в Iterable[A] при выполнении метода option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
def minOption[B >: A](implicit ord: scala.math.Ordering[B]): Option[A]
Находит наименьший элемент.
- B
Тип, по которому определяется порядок.
- ord
Порядок, используемый для сравнения элементов.
- returns
значение типа Option, содержащее наименьший элемент этого итерируемого набора относительно порядка
ord.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- returns
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
final def nonEmpty: Boolean
Возвращает false, если значение option является None, и true в противном случае.
Это эквивалентно:
option match {
case Some(_) => true
case None => false
}
- Definition Classes
- Option
- Note
Реализовано здесь для избежания неявного преобразования в Iterable.
final def notify(): Unit
Разбуждает единственную нить, ожидающую монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано SLS как член AnyRef
final def notifyAll(): Unit
Разбуждает все нити, ожидающие монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано SLS как член AnyRef
final def orElse[B >: A](alternative: => Option[B]): Option[B]
Возвращает этот scala.Option, если он не пустой, в противном случае возвращает результат вычисления alternative.
Это эквивалентно:
option match {
case Some(x) => Some(x)
case None => alternative
}
- alternative
выражение по умолчанию.
final def orNull[A1 >: A](implicit ev: <:<[Null, A1]): A1
Возвращает значение опции, если она не пустая, или null , если она пустая.
Хотя использование null не рекомендуется, код, написанный для использования scala.Option, часто должен взаимодействовать с кодом, который ожидает и возвращает null.
Это эквивалентно:
option match {
case Some(x) => x
case None => null
}
def partition(p: (A) => Boolean): (collection.Iterable[A], collection.Iterable[A])
Пара из элементов, которые удовлетворяют предикату p, и, во-вторых, всех элементов, которые этого не делают. Интересно, потому что разделяет коллекцию на две части.
Представленная здесь реализация по умолчанию требует двух проходов по коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
- Implicit
- Этот член добавляется неявным преобразованием из Some[A] в Iterable[A], выполненным методом option2Iterable в scala.Option.
- Definition Classes
- IterableOps
def partitionMap[A1, A2](f: (A) => Either[A1, A2]): (collection.Iterable[A1], collection.Iterable[A2])
Применяет функцию f к каждому элементу итерируемого набора и возвращает пару итерируемых наборов: первый содержит значения, возвращённые f, которые были обернуты в scala.util.Left, а второй — те, которые были обернуты в scala.util.Right.
Пример:
val xs = `Iterable`(1, "one", 2, "two", 3, "three") partitionMap {
case i: Int => Left(i)
case s: String => Right(s)
}
// xs == (`Iterable`(1, 2, 3),
// `Iterable`(one, two, three))
- A1
тип элементов первого результирующего набора
- A2
тип элементов второго результирующего набора
- f
функция 'разделения', сопоставляющая элементы этого итерируемого набора с scala.util.Either
- возвращает
пару итерируемых наборов: первый содержит значения, возвращённые
f, которые были обернуты в scala.util.Left, а второй — те, которые были обернуты в scala.util.Right.
- Неявный
- Этот член добавляется неявным преобразованием из Some[A] вIterable[A] выполняемым методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOps
def product[B >: A](implicit num: math.Numeric[B]): B
Произведение элементов этого набора.
- B
тип результата оператора
*.- num
явный параметр, определяющий набор числовых операций, включающий оператор
*, используемый для вычисления произведения.- возвращает
произведение всех элементов этого итерируемого набора относительно оператора
*вnum.
- Неявный
- Этот член добавляется неявным преобразованием из Some[A] вIterable[A] выполняемым методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOnceOps
def productElementNames: Iterator[String]
Итератор по именам всех элементов этого произведения.
- Определяющие классы
- Product
def reduce[B >: A](op: (B, B) => B): B
Уменьшает элементы этого итерируемого набора, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
- B
Параметр типа для бинарного оператора, надтип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Результат применения оператора reduce
opмежду всеми элементами, если итерируемый набор не пустой.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] выполняемым методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOnceOps
- Исключения
UnsupportedOperationException, если этот итерируемый набор пустой.
def reduceLeft[B >: A](op: (B, A) => B): B
Применяет бинарный оператор ко всем элементам этого итерируемого набора слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого набора, слева направо:op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)где
x1, ..., xn— элементы этого итерируемого набора.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] выполняемым методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOnceOps
- Исключения
UnsupportedOperationException, если этот итерируемый набор пустой.
def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого итерируемого набора, слева направо.
Примечание: не завершается для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение Option, содержащее результат
reduceLeft(op), если этот итерируемый набор не пустой,Noneв противном случае.
- Неявный
- Этот член добавляется неявным преобразованием из Some[A] в Iterable[A] , выполненное методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOnceOps
def reduceOption[B >: A](op: (B, B) => B): Option[B]
Сводит элементы этой итерируемой коллекции, если таковые имеются, с помощью указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
- B
Параметр типа для бинарного оператора, надтип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Значение Option, содержащее результат применения оператора reduce
opмежду всеми элементами, если коллекция не пустая, иNoneв противном случае.
- Неявный
- Этот член добавляется неявным преобразованием из Some[A] в Iterable[A] , выполненное методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOnceOps
def reduceRight[B >: A](op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этого итерируемого набора, справа налево.
Примечание: не завершается для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен или оператор не ассоциативен и не коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого набора, справа налево:op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))где
x1, ..., xn— это элементы этого итерируемого набора.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Классы определения
- IterableOnceOps
- Исключения
UnsupportedOperationException, если этот итерируемый набор пуст.
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Факультативно применяет бинарный оператор ко всем элементам этого итерируемого набора, справа налево.
Примечание: не завершается для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен или оператор не ассоциативен и не коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение опционального типа, содержащее результат
reduceRight(op)если этот итерируемый набор не пуст,Noneв противном случае.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Классы определения
- IterableOnceOps
def scan[B >: A](z: B)(op: (B, B) => B): collection.Iterable[B]
Вычисляет сдвиговую сумму элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
- B
тип элементов результирующей коллекции
- z
нейтральный элемент для оператора
op- op
ассоциативный оператор для сдвига
- returns
новая итерируемая коллекция, содержащая сдвиговую сумму элементов в этой итерируемой коллекции
- Неявный
- Этот член добавляется неявным преобразованием из Some[A] вIterable[A] в методе option2Iterable в scala.Option.
- Определяющие классы
- IterableOps
def scanLeft[B](z: B)(op: (B, A) => B): collection.Iterable[B]
Создает итерируемую коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип элементов в результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- returns
коллекция с промежуточными результатами
- Неявный
- Этот член добавляется неявным преобразованием из Some[A] вIterable[A] в методе option2Iterable в scala.Option.
- Определяющие классы
- IterableOps → IterableOnceOps
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора неопределенно, может быть изменено и может привести к изменениям в новом итераторе.
def scanRight[B](z: B)(op: (A, B) => B): collection.Iterable[B]
Производит коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Голова коллекции — последний кумулятивный результат.
Примечание: не завершается для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен.
Примечание: даже при применении к представлению или ленивой коллекции всегда будет принудительно обрабатывать элементы.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
- B
тип элементов в результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- returns
коллекция с промежуточными результатами
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Классы-определения
- IterableOps
def sizeCompare(that: collection.Iterable[_]): Int
Сравнивает размер этой итерируемой коллекции с размером другой Iterable.
- that
другая
Iterable, размер которой сравнивается с размером этой итерируемой коллекции.- returns
-
Значение
x, гдеx < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size
Реализация этого метода напрямую не вызывает
size; его время выполнения составляетO(this.size min that.size)вместоO(this.size + that.size). Метод следует переопределять, если вычислениеsizeявляется быстрым, иknownSizeвозвращает-1.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Классы-определения
- IterableOps
def sizeCompare(otherSize: Int): Int
Сравнивает размер этой итерируемой коллекции со значением теста.
- otherSize
тестовое значение, которое сравнивается с размером.
- returns
-
Значение
x, гдеx < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize
Реализация этого метода напрямую не вызывает
size; его время выполнения составляетO(size min otherSize)вместоO(size). Метод следует переопределять, если вычислениеsizeявляется быстрым, иknownSizeвозвращает-1.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Классы-определения
- IterableOps
- См. также
final def sizeIs: SizeCompareOps
Возвращает значение класса, содержащего операции для сравнения размера этого итерируемого набора с тестовым значением.
Эти операции реализуются в терминах sizeCompare(Int), и позволяют использовать следующие более удобочитаемые выражения:
this.sizeIs < size // this.sizeCompare(size) < 0 this.sizeIs <= size // this.sizeCompare(size) <= 0 this.sizeIs == size // this.sizeCompare(size) == 0 this.sizeIs != size // this.sizeCompare(size) != 0 this.sizeIs >= size // this.sizeCompare(size) >= 0 this.sizeIs > size // this.sizeCompare(size) > 0
- Неявное
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] выполненное методом option2Iterable в scala.Option.
- Классы определений
- IterableOps
- Аннотации
- @inline()
def slice(from: Int, until: Int): collection.Iterable[A]
Выбирает интервал элементов. Возвращаемый итерируемый набор состоит из всех элементов x, которые удовлетворяют следующему условию:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- from
наименьший индекс для включения из этого итерируемого набора.
- until
наименьший индекс для ИСКЛЮЧЕНИЯ из этого итерируемого набора.
- возвращает
итерируемый набор, содержащий элементы, большие или равные индексу
from, и до (но не включая) индексаuntilэтого итерируемого набора.
- Неявное
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] выполненное методом option2Iterable в scala.Option.
- Классы определений
- IterableOps → IterableOnceOps
- Примечание
Повторное использование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе тоже.
def sliding(size: Int, step: Int): collection.Iterator[collection.Iterable[A]]
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» по ним (в отличие от разбиения на части, как это делается в grouped).
- size
количество элементов в группе
- step
расстояние между первыми элементами последовательных групп
- returns
Итератор, генерирующий итерируемые коллекции размера
size, за исключением последнего элемента (который может быть единственным), который будет усечен, если оставшихся элементов для группировки меньше, чемsize.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A], выполненное методом option2Iterable в scala.Option.
- Definition Classes
- IterableOps
- See also
scala.collection.Iterator, метод
sliding
def sliding(size: Int): collection.Iterator[collection.Iterable[A]]
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» по ним (в отличие от разбиения на части, как это делается в grouped). Шаг «скользящего окна» установлен в единицу.
- size
количество элементов в группе
- returns
Итератор, генерирующий итерируемые коллекции размера
size, за исключением последнего элемента (который может быть единственным), который будет усечен, если оставшихся элементов для группировки меньше, чемsize.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A], выполненное методом option2Iterable в scala.Option.
- Definition Classes
- IterableOps
- See also
scala.collection.Iterator, метод
sliding
def span(p: (A) => Boolean): (collection.Iterable[A], collection.Iterable[A])
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не приводит к побочным эффектам.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
- p
предикат проверки
- returns
пара, состоящая из самого длинного префикса этой итерируемой коллекции, элементы которой удовлетворяют
p, и остальной части этой итерируемой коллекции.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] выполненным методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOps → IterableOnceOps
- Примечание
Повторное использование: После вызова этого метода необходимо отказаться от итератора, на котором он был вызван, и использовать только возвращённые итераторы. Использование старого итератора не определено, может измениться, и может привести к изменениям в новых итераторах тоже.
def splitAt(n: Int): (collection.Iterable[A], collection.Iterable[A])
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
- n
позиция разделения.
- returns
пара итерируемых коллекций, состоящая из первых
nэлементов этой итерируемой коллекции и других элементов.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] выполненным методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOps → IterableOnceOps
- Примечание
Повторное использование: После вызова этого метода необходимо отказаться от итератора, на котором он был вызван, и использовать только возвращённые итераторы. Использование старого итератора не определено, может измениться, и может привести к изменениям в новых итераторах тоже.
def stepper[S <: Stepper[_]](implicit shape: StepperShape[A, S]): S
Возвращает Stepper для элементов этой коллекции.
Stepper позволяет создавать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этой коллекции.
-
Для коллекций
Int, Short, Byte или Char, возвращается IntStepperДля коллекций Double или Float, возвращается DoubleStepperДля коллекций Long возвращается LongStepperДля любого другого типа элементов возвращается AnyStepperОбратите внимание, что этот метод переопределен в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper можно преобразовать только в последовательные потоки.
- Определение классов
- IterableOnce
def sum[B >: A](implicit num: math.Numeric[B]): B
Суммирует элементы этой коллекции.
- B
тип результата оператора
+.- num
неявный параметр, определяющий набор арифметических операций, включающий оператор
+, используемый для формирования суммы.- возвращает
сумму всех элементов этой итерируемой коллекции относительно оператора
+вnum.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] выполненного методом option2Iterable в scala.Option.
- Определение классов
- IterableOnceOps
final def synchronized[T0](arg0: => T0): T0
- Определение классов
- AnyRef
def tail: collection.Iterable[A]
Остальная часть коллекции без её первого элемента.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] выполненным методом option2Iterable в scala.Option.
- Классы-определения
- IterableOps
def tails: collection.Iterator[collection.Iterable[A]]
Итерирует по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения будут результатами последовательных применений tail.
- возвращает
итератор по всем хвостам этой итерируемой коллекции
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] выполненным методом option2Iterable в scala.Option.
- Классы-определения
- IterableOps
List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)
def take(n: Int): collection.Iterable[A]
Выбирает первые n элементов.
Примечание: результаты могут отличаться при разных запусках, если тип базовой коллекции не упорядочен.
- n
количество элементов для взятия из этой итерируемой коллекции.
- возвращает
итерируемая коллекция, состоящая только из первых
nэлементов этой итерируемой коллекции, или же вся итерируемая коллекция, если она содержит меньшеnэлементов. Еслиnотрицательное, возвращает пустую итерируемую коллекцию.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] выполненным методом option2Iterable в scala.Option.
- Классы-определения
- IterableOps → IterableOnceOps
- Примечание
Переиспользование: после вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться, и может привести к изменениям в новом итераторе тоже.
def takeRight(n: Int): collection.Iterable[A]
Выбирает последние n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- n
количество элементов, которые нужно взять из этой итерируемой коллекции.
- возвращает
итерируемую коллекцию, содержащую только последние
nэлементов этой итерируемой коллекции, или же всю итерируемую коллекцию, если в ней меньше, чемnэлементов. Еслиnотрицательно, возвращает пустую итерируемую коллекцию.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] выполняемое методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOps
def takeWhile(p: (A) => Boolean): collection.Iterable[A]
Взять наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- p
Предикат, используемый для проверки элементов.
- возвращает
наибольший префикс этой итерируемой коллекции, элементы которой удовлетворяют предикату
p.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] выполняемое методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOps → IterableOnceOps
def tapEach[U](f: (A) => U): collection.Iterable[A]
Применяет функцию с побочным эффектом к каждому элементу в этой коллекции. Строгие коллекции применят f к своим элементам немедленно, в то время как ленивые коллекции, такие как Views и LazyLists, применят f только к каждому элементу, когда он будет вычисляться, и каждый раз, когда этот элемент будет вычисляться.
- U
тип возвращаемого значения f
- f
функция, которая применяется к каждому элементу в этой итерируемой коллекции
- возвращает
Такая же логическая коллекция, как эта
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] выполняемое методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOps → IterableOnceOps
def to[C1](factory: Factory[A, C1]): C1
При заданном фабрике коллекций factory, преобразуйте эту коллекцию в соответствующее представление для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
- Неявный
- Этот член добавлен с помощью неявного преобразования из Some[A] вIterable[A] выполненного методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOnceOps
def toArray[B >: A](implicit arg0: ClassTag[B]): Array[B]
Преобразование коллекции в массив.
- Неявный
- Этот член добавлен с помощью неявного преобразования из Some[A] вIterable[A] выполненного методом option2Iterable в scala.Option.
- Определяющие классы
- IterableOnceOps
final def toLeft[X](right: => X): Either[A, X]
Возвращает scala.util.Right, содержащий переданный аргумент right, если текущий объект пуст, или scala.util.Left, содержащий значение этого scala.Option, если этот scala.Option не пуст.
Это эквивалентно:
option match {
case Some(x) => Left(x)
case None => Right(right)
}
- right
выражение, которое вычисляется и возвращается, если текущий объект пуст
def toList: List[A]
Возвращает список из одного элемента — значения scala.Option, если оно не пустое, или пустой список, если scala.Option пустое.
Это эквивалентно:
option match {
case Some(x) => List(x)
case None => Nil
}
- Definition Classes
- Option
def toMap[K, V](implicit ev: <:<[A, (K, V)]): Map[K, V]
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Definition Classes
- IterableOnceOps
final def toRight[X](left: => X): Either[X, A]
Возвращает scala.util.Left с заданным аргументом left если этот scala.Option пустой, или scala.util.Right содержащий значение этого scala.Option, если он непустой.
Это эквивалентно:
option match {
case Some(x) => Right(x)
case None => Left(left)
}
- left
выражение, которое вычисляется и возвращается, если это пустое
def toString(): String
Преобразует это итерируемое множество в строку.
- returns
строковое представление этого множества. По умолчанию эта строка состоит из
classNameэтого итерируемого множества, за которой следуют все элементы, разделенные запятыми и заключенные в скобки.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Definition Classes
- Iterable → AnyRef → Any
def transpose[B](implicit asIterable: (A) => collection.Iterable[B]): collection.Iterable[collection.Iterable[B]]
Транспонирует это итерируемое множество итерируемых множеств в итерируемое множество итерируемых множеств.
Тип результирующего множества будет определяться статическим типом итерируемого множества. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
Примечание: Даже при применении к представлению или ленивому множеству оно всегда будет принудительно выполнять элементы.
- B
тип элементов каждого итерируемого множества.
- asIterable
явное преобразование, которое утверждает, что тип элемента этого итерируемого множества является
Iterable.- returns
двухмерное итерируемое множество итерируемых множеств, у которого n-я строка — n-й столбец этого итерируемого множества.
- Implicit
- Этот член добавлен явным преобразованием из Some[A] в Iterable[A] посредством метода option2Iterable в scala.Option.
- Definition Classes
- IterableOps
- Exceptions thrown
IllegalArgumentException, если все множества в этом итерируемом множестве не имеют одинакового размера.
final def unzip[A1, A2](implicit asPair: <:<[A, (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 — пара.
- returns
пара Option, содержащая, соответственно, первую и вторую половину пары элементов этого Option.
- Definition Classes
- Option
final def unzip3[A1, A2, A3](implicit asTriple: <:<[A, (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 является тройкой.
- returns
тройка Option, содержащая, соответственно, первый, второй и третий элементы из тройки элементов этого Option.
- Definition Classes
- Option
val value: A
def view: View[A]
Представление над элементами этого набора.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] выполняемое методом option2Iterable в scala.Option.
- Definition Classes
- IterableOps
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long): Unit
final def withFilter(p: (A) => Boolean): WithFilter
Необходим для предотвращения неявного преобразования scala.Option в scala.collection.Iterable в for выражениях.
final def zip[A1 >: A, B](that: Option[B]): Option[(A1, B)]
Возвращает scala.Some, образованный из данного объекта и другого объекта Option путём объединения соответствующих элементов в пару. Если один из двух объектов Option пуст, возвращается None.
Это эквивалентно:
(option1, option2) match {
case (Some(x), Some(y)) => Some((x, y))
case _ => None
}
- that
объект Option, который будет объединяться
- Описание классов
- 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")
def zipAll[A1 >: A, B](that: collection.Iterable[B], thisElem: A1, thatElem: B): collection.Iterable[(A1, B)]
Возвращает итерируемую коллекцию, сформированную из этой итерируемой коллекции и другой итерируемой коллекции, объединяя соответствующие элементы парами. Если одна из двух коллекций короче другой, для расширения более короткой коллекции до длины более длинной используются заполнители.
- that
итерируемый объект, предоставляющий вторую половину каждой пары результатов
- thisElem
элемент, используемый для заполнения результата, если эта итерируемая коллекция короче
that.- thatElem
элемент, используемый для заполнения результата, если
thatкороче этой итерируемой коллекции.- returns
новая коллекция типа
That, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции иthat. Длина возвращаемой коллекции равна максимальной длине этой итерируемой коллекции иthat. Если эта итерируемая коллекция корочеthat, значенияthisElemиспользуются для дополнения результата. Еслиthatкороче этой итерируемой коллекции, значенияthatElemиспользуются для дополнения результата.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] при выполнении метода option2Iterable в scala.Option.
- Определение классов
- IterableOps
def zipWithIndex: collection.Iterable[(A, Int)]
Объединяет эту итерируемую коллекцию с ее индексами.
- returns
Новая итерируемая коллекция, содержащая пары, состоящие из всех элементов этой итерируемой коллекции, соединенных со своими индексами. Индексы начинаются с
0.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] при выполнении метода option2Iterable в scala.Option.
- Определение классов
- IterableOps → IterableOnceOps
- Примечание
Повторное использование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.
List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))
Члены-значения неявного затенения
def collect[B](pf: PartialFunction[A, B]): collection.Iterable[B]
Создаёт новую коллекцию итерируемых элементов, применяя частичную функцию ко всем элементам этой коллекции, для которых функция определена.
- B
тип элементов возвращаемой коллекции.
- pf
частичная функция, которая фильтрует и отображает коллекцию.
- returns
новая итерируемая коллекция, полученная путём применения данной частичной функции
pfк каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.
- Неявный
- Этот член добавлен путём неявного преобразования из Some[A] в Iterable[A], выполненное методом option2Iterable в scala.Option.
- Затенение
- Этот неявно унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать явное указание типа:(some: Iterable[A]).collect(pf)
- Классы определения
- IterableOps → IterableOnceOps
- Примечание
Переиспользование: после вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def count(p: (A) => Boolean): Int
Подсчитывает количество элементов в итерируемой коллекции, которые удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- returns
количество элементов, удовлетворяющих предикату
p.
- Неявный
- Этот член добавлен путём неявного преобразования из Some[A] в Iterable[A], выполненное методом option2Iterable в scala.Option.
- Затенение
- Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют аналогичные подписи, поэтому вызов этого члена может привести к ошибке компилятора, связанной с неоднозначным неявным преобразованием.
Для доступа к этому члену можно использовать явное указание типа:(some: Iterable[A]).count(p)
- Классы определения
- IterableOnceOps
def exists(p: (A) => Boolean): Boolean
Проверяет, выполняется ли предикат хотя бы для одного элемента этого итерируемого набора.
Примечание: может не завершиться для наборов бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
trueесли данный предикатpвыполняется хотя бы для одного элемента этого итерируемого набора, в противном случаеfalse
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Shadowing
- Этот неявно унаследованный член скрыт одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать явное указание типа:(some: Iterable[A]).exists(p)
- Definition Classes
- IterableOnceOps
def filter(pred: (A) => Boolean): collection.Iterable[A]
Выбирает все элементы этого итерируемого набора, которые удовлетворяют предикату.
- returns
новый итератор, состоящий из всех элементов этого итерируемого набора, удовлетворяющих заданному предикату
p. Порядок элементов сохраняется.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Shadowing
- Этот неявно унаследованный член скрыт одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать явное указание типа:(some: Iterable[A]).filter(pred)
- Definition Classes
- IterableOps → IterableOnceOps
def filterNot(pred: (A) => Boolean): collection.Iterable[A]
Выбирает все элементы этого итерируемого набора, которые не удовлетворяют предикату.
- pred
предикат, используемый для проверки элементов.
- returns
новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, которые не удовлетворяют заданному предикату
pred. Их порядок может не сохраняться.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Перекрытие
- Этот неявный унаследованный член перекрывается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(some: Iterable[A]).filterNot(pred)
- Определяющие классы
- IterableOps → IterableOnceOps
def find(p: (A) => Boolean): Option[A]
Находит первый элемент итерируемого набора, удовлетворяющий предикату, если таковой существует.
Примечание: может не завершиться для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если только тип базового набора не является упорядоченным.
- p
предикат, используемый для проверки элементов.
- returns
значение типа option, содержащее первый элемент в итерируемом наборе, который удовлетворяет
p, илиNoneесли такового не существует.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Перекрытие
- Этот неявный унаследованный член является неоднозначным. Один или несколько неявных унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора с неоднозначным неявным преобразованием.
Для доступа к этому члену можно использовать приведение типа:(some: Iterable[A]).find(p)
- Определяющие классы
- IterableOnceOps
def flatMap[B](f: (A) => collection.IterableOnce[B]): collection.Iterable[B]
Создаёт новый итерируемый набор, применяя функцию ко всем элементам этого итерируемого набора и используя элементы полученных наборов.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующего набора определяется статическим типом итерируемого набора. Это иногда может привести к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
- B
тип элементов возвращаемого набора.
- f
функция, применяемая к каждому элементу.
- returns
новый итерируемый набор, полученный путём применения заданной функции, возвращающей набор
fк каждому элементу этого итерируемого набора и конкатенации результатов.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] в методе option2Iterable в scala.Option.
- Затенение
- Этот неявный унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(some: Iterable[A]).flatMap(f)
- Определяющие классы
- IterableOps → IterableOnceOps
- Примечание
Переиспользование: после вызова этого метода итератор, на котором он был вызван, следует удалить, а использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def flatten[B](implicit asIterable: (A) => collection.IterableOnce[B]): collection.Iterable[B]
Преобразует этот итерируемый набор итерируемых наборов в итерируемый набор, образованный элементами этих итерируемых наборов.
Тип результирующего набора определяется типом итерируемого набора. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
- B
тип элементов каждого итерируемого набора.
- asIterable
неявное преобразование, утверждающее, что тип элемента этого итерируемого набора является
GenTraversable.- returns
новый итерируемый набор, полученный путём конкатенации всех наборов элементов.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] в методе option2Iterable в scala.Option.
- Затенение
- Этот неявный унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(some: Iterable[A]).flatten(asIterable)
- Определяющие классы
- IterableOps → IterableOnceOps
- Примечание
Переиспользование: после вызова этого метода итератор, на котором он был вызван, следует удалить, а использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этого итерируемого набора с использованием указанного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не будет завершаться для коллекций бесконечного размера.
- A1
параметр типа для бинарного оператора, супертип
A.- z
нейтральный элемент для операции слияния; может быть добавлен к результату произвольное количество раз и не должен изменять результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- returns
результат применения оператора слияния
opмежду всеми элементами иz, илиzесли этот итерируемый набор пуст.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Shadowing
- Этот неявный унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(some: Iterable[A]).fold(z)(op)
- Definition Classes
- IterableOnceOps
def forall(p: (A) => Boolean): Boolean
Проверяет, выполняется ли предикат для всех элементов этого итерируемого набора.
Примечание: может не завершаться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
trueесли этот итерируемый набор пуст или указанный предикатpвыполняется для всех элементов этого итерируемого набора, в противном случаеfalse.
- Implicit
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Shadowing
- Этот неявный унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(some: Iterable[A]).forall(p)
- Definition Classes
- IterableOnceOps
def foreach[U](f: (A) => U): Unit
Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в инференции типов scalac.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A], выполненным методом option2Iterable в scala.Option.
- Затенение
- Этот неявный унаследованный член затеневается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать явное указание типа:(some: Iterable[A]).foreach(f)
- Классы определений
- IterableOnceOps
def isEmpty: Boolean
Проверяет, является ли итерируемое множество пустым.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять какие-либо элементы при вызове isEmpty.
- возвращает
trueесли итерируемое множество не содержит элементов,falseв противном случае.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A], выполненным методом option2Iterable в scala.Option.
- Затенение
- Этот неявный унаследованный член затеневается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать явное указание типа:(some: Iterable[A]).isEmpty
- Классы определений
- IterableOnceOps
def iterator: collection.Iterator[A]
Итератор может быть использован только один раз
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A], выполненным методом option2Iterable в scala.Option.
- Затенение
- Этот неявный унаследованный член затеневается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать явное указание типа:(some: Iterable[A]).iterator
- Классы определений
- IterableOnce
def knownSize: Int
- возвращает
Количество элементов в этом итерируемом наборе, если его можно вычислить без затрат, в противном случае -1. «Без затрат» обычно означает: без обхода коллекции.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Перекрытие
- Этот неявный наследуемый член перекрывается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(some: Iterable[A]).knownSize
- Определяющие классы
- IterableOnce
def map[B](f: (A) => B): collection.Iterable[B]
Создаёт новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции.
- B
тип элементов возвращаемой итерируемой коллекции.
- f
функция, применяемая к каждому элементу.
- возвращает
новая итерируемая коллекция, полученная путём применения заданной функции
fк каждому элементу этой итерируемой коллекции и сбора результатов.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Перекрытие
- Этот неявный наследуемый член перекрывается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(some: Iterable[A]).map(f)
- Определяющие классы
- IterableOps → IterableOnceOps
- Примечание
Повторное использование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
final def mkString: String
Отображает все элементы этого итерируемого набора в строке.
Делегирует вызов addString, который можно переопределить.
- возвращает
строковое представление этого итерируемого набора. В результирующей строке строковые представления (с учётом метода
toString) всех элементов этого итерируемого набора следуют друг за другом без разделителя.
- Неявный
- Этот член добавлен с помощью неявного преобразования из Some[A] в Iterable[A] через метод option2Iterable в scala.Option.
- Перекрытие
- Этот неявно унаследованный член неоднозначен. Один или несколько неявно унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора по поводу неоднозначного неявного преобразования.
Для доступа к этому члену можно использовать приведение типов:(some: Iterable[A]).mkString
- Определяющие классы
- IterableOnceOps
- Аннотации
- @inline()
final def mkString(sep: String): String
Отображает все элементы этого итерируемого набора в строке с использованием разделителя.
Делегирует вызов addString, который можно переопределить.
- sep
строка-разделитель.
- возвращает
строковое представление этого итерируемого набора. В результирующей строке строковые представления (с учётом метода
toString) всех элементов этого итерируемого набора разделены строкойsep.
- Неявный
- Этот член добавлен с помощью неявного преобразования из Some[A] в Iterable[A] через метод option2Iterable в scala.Option.
- Перекрытие
- Этот неявно унаследованный член неоднозначен. Один или несколько неявно унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора по поводу неоднозначного неявного преобразования.
Для доступа к этому члену можно использовать приведение типов:(some: Iterable[A]).mkString(sep)
- Определяющие классы
- IterableOnceOps
- Аннотации
- @inline()
List(1, 2, 3).mkString("|") = "1|2|3"
final def mkString(start: String, sep: String, end: String): String
Отображает все элементы этого итерируемого набора в строке с использованием начальной, конечной и разделительной строк.
Делегирует вызов addString, который можно переопределить.
- start
начальная строка.
- sep
разделительная строка.
- end
конечная строка.
- returns
строковое представление этого итерируемого набора. Результирующая строка начинается со строки
startи заканчивается строкойend. Внутри строковые представления (относительно методаtoString) всех элементов этого итерируемого набора разделены строкойsep.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] посредством метода option2Iterable в scala.Option.
- Затенение
- Этот неявный унаследованный член является неоднозначным. Один или несколько неявных унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора из-за неоднозначного неявного преобразования.
Для доступа к этому члену можно использовать привязку типа:(some: Iterable[A]).mkString(start, sep, end)
- Классы-определения
- IterableOnceOps
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
def nonEmpty: Boolean
Проверяет, пусто ли итерируемый набор.
- returns
trueесли итерируемый набор содержит по крайней мере один элемент,falseв противном случае.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] посредством метода option2Iterable в scala.Option.
- Затенение
- Этот неявный унаследованный член затеняется одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать привязку типа:(some: Iterable[A]).nonEmpty
- Классы-определения
- IterableOnceOps
- Аннотации
- @deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def size: Int
Размер этого итерируемого набора.
Примечание: не завершится для наборов бесконечного размера.
- возвращает
количество элементов в этом итерируемом наборе.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] вIterable[A] выполняемым методом option2Iterable в scala.Option.
- Перекрытие
- Этот неявный унаследованный член является неоднозначным. Один или несколько неявных унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора с неоднозначным неявным преобразованием.
Для доступа к этому члену вы можете использовать описание типа:(some: Iterable[A]).size
- Определяющие классы
- IterableOnceOps
def stepper[S <: Stepper[_]](implicit shape: StepperShape[A, S]): S
Возвращает Stepper для элементов этой коллекции.
Stepper позволяет создавать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этой коллекции.
-
Для коллекций
Int, Short, Byte или Char, возвращается IntStepper.Для коллекций Double или Float, возвращается DoubleStepper.Для коллекций Long, возвращается LongStepper.Для любого другого типа элементов, возвращается AnyStepperОбратите внимание, что этот метод переопределяется в подклассах, а тип возвращаемого значения уточняется до S with EfficientSplit, например IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] выполненное методом option2Iterable в scala.Option.
- Перекрытие
- Этот неявный унаследованный член перекрывается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать привязку типа:(some: Iterable[A]).stepper(shape)
- Классы-определения
- IterableOnce
final def toBuffer[B >: A]: Buffer[B]
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] выполненное методом option2Iterable в scala.Option.
- Перекрытие
- Этот неявный унаследованный член неоднозначен. Один или несколько неявных унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может вызвать ошибку компилятора неоднозначного неявного преобразования.
Для доступа к этому члену можно использовать привязку типа:(some: Iterable[A]).toBuffer
- Классы-определения
- IterableOnceOps
- Аннотации
- @inline()
def toIndexedSeq: collection.immutable.IndexedSeq[A]
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Затенение
- Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компиляции, связанной с неоднозначностью неявного преобразования.
Для доступа к этому члену можно использовать привязку типа:(some: Iterable[A]).toIndexedSeq
- Определяющие классы
- IterableOnceOps
final def toIterable: collection.Iterable[A]
- возвращает
Это коллекцию в виде
Iterable[A]. Новый объект коллекции не будет создан, еслиthisуже являетсяIterable[A].
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Затенение
- Этот неявно унаследованный член является неоднозначным. Один или несколько неявно унаследованных членов имеют похожие сигнатуры, поэтому вызов этого члена может привести к ошибке компиляции, связанной с неоднозначностью неявного преобразования.
Для доступа к этому члену можно использовать привязку типа:(some: Iterable[A]).toIterable
- Определяющие классы
- Iterable → IterableOps
def toList: collection.immutable.List[A]
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Затенение
- Этот неявно унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать привязку типа:(some: Iterable[A]).toList
- Определяющие классы
- IterableOnceOps
def toSeq: collection.immutable.Seq[A]
- возвращает
Это коллекция в виде
Seq[A]. Это эквивалентноto(Seq), но может быть быстрее.
- Неявный
- Этот член добавлен неявно при преобразовании из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Затенение
- Этот неявно унаследованный член неоднозначен. Один или несколько неявно унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора, связанной с неоднозначным неявным преобразованием.
Для доступа к этому члену можно использовать приведение типов:(some: Iterable[A]).toSeq
- Определяющие классы
- IterableOnceOps
def toSet[B >: A]: Set[B]
- Неявный
- Этот член добавлен неявно при преобразовании из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Затенение
- Этот неявно унаследованный член неоднозначен. Один или несколько неявно унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора, связанной с неоднозначным неявным преобразованием.
Для доступа к этому члену можно использовать приведение типов:(some: Iterable[A]).toSet
- Определяющие классы
- IterableOnceOps
def toVector: collection.immutable.Vector[A]
- Неявный
- Этот член добавлен неявно при преобразовании из Some[A] в Iterable[A] с помощью метода option2Iterable в scala.Option.
- Затенение
- Этот неявно унаследованный член неоднозначен. Один или несколько неявно унаследованных членов имеют аналогичные сигнатуры, поэтому вызов этого члена может привести к ошибке компилятора, связанной с неоднозначным неявным преобразованием.
Для доступа к этому члену можно использовать приведение типов:(some: Iterable[A]).toVector
- Определяющие классы
- IterableOnceOps
def unzip[A1, A2](implicit asPair: (A) => (A1, A2)): (collection.Iterable[A1], collection.Iterable[A2])
Преобразует это итерируемое множество пар в два множества первой и второй половины каждой пары.
val xs = `Iterable`(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (`Iterable`(1, 2, 3),
// `Iterable`(one, two, three))
- A1
тип первой половины пар элементов
- A2
тип второй половины пар элементов
- asPair
явное преобразование, которое утверждает, что тип элементов этого итерируемого множества является парой.
- returns
пара итерируемых множеств, содержащая первую и, соответственно, вторую половину каждой пары элементов этого итерируемого множества.
- Implicit
- Этот член добавлен явным преобразованием из Some[A] вIterable[A] с помощью метода option2Iterable в scala.Option.
- Shadowing
- Этот неявно унаследованный член затеняется одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(some: Iterable[A]).unzip(asPair)
- Definition Classes
- IterableOps
def unzip3[A1, A2, A3](implicit asTriple: (A) => (A1, A2, A3)): (collection.Iterable[A1], collection.Iterable[A2], collection.Iterable[A3])
Преобразует этот итерируемый набор троек в три набора первого, второго и третьего элемента каждой тройки.
val xs = `Iterable`(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (`Iterable`(1, 2, 3),
// `Iterable`(one, two, three),
// `Iterable`(1, 2, 3))
- A1
тип первого члена элементов-троек
- A2
тип второго члена элементов-троек
- A3
тип третьего члена элементов-троек
- asTriple
явное преобразование, утверждающее, что тип элементов этого итерируемого набора — тройка.
- returns
тройку итерируемых наборов, содержащих первый, второй и соответственно третий член каждой тройки элементов этого итерируемого набора.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A], выполненное методом option2Iterable в scala.Option.
- Затенение
- Этот неявный унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(some: Iterable[A]).unzip3(asTriple)
- Определяющие классы
- IterableOps
def withFilter(p: (A) => Boolean): collection.WithFilter[A, collection.Iterable]
Создаёт нестрогий фильтр этого итерируемого набора.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новый набор, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты при разных запусках, если только тип базового набора не является упорядоченным.
- p
предикат, используемый для проверки элементов.
- returns
объект класса
WithFilter, который поддерживаетmap,flatMap,foreach, иwithFilterоперации. Все эти операции применяются к тем элементам этого итерируемого набора, которые удовлетворяют предикатуp.
- Неявный
- Этот член добавлен неявным преобразованием из Some[A] в Iterable[A], выполненное методом option2Iterable в scala.Option.
- Затенение
- Этот неявный унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(some: Iterable[A]).withFilter(p)
- Определяющие классы
- IterableOps
def zip[B](that: collection.IterableOnce[B]): collection.Iterable[(A, B)]
Возвращает итерируемую коллекцию, сформированную из этой итерируемой коллекции и другой итерируемой коллекции путем объединения соответствующих элементов парами. Если одна из двух коллекций длиннее другой, её оставшиеся элементы игнорируются.
- B
тип второй половины возвращаемых пар
- that
Итерируемый объект, предоставляющий вторую половину каждой пары результата
- returns
новая итерируемая коллекция, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и
that. Длина возвращаемой коллекции — это минимум длин этой итерируемой коллекции иthat.
- Неявный
- Этот член добавлен в результате неявного преобразования из Some[A] в Iterable[A] при выполнении метода option2Iterable в scala.Option.
- Перекрытие
- Этот неявно унаследованный член перекрывается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать привязку типа:(some: Iterable[A]).zip(that)
- Определяющие классы
- IterableOps
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/Some.html
Класс
Some[A]представляет существующие значения типаA.1.0