Spec-Zone.ru › Scala 3.1

Класс scala.collection.immutable.WrappedString

Объект-компаньон • Исходный код

@SerialVersionUID(3L)
final class WrappedString(self: String) extends AbstractSeq[Char] with IndexedSeq[Char] with IndexedSeqOps[Char, IndexedSeq, WrappedString] with Serializable

Этот класс служит оболочкой, дополняющей String всеми операциями, которые есть у индексированных последовательностей.

Разница между этим классом и StringOps заключается в том, что вызов методов трансформации, таких как filter и map, вернёт объект типа WrappedString, а не String.

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

строка, содержащаяся в этой оболочке строки

Надтипы
24 типа
интерфейс Serializable
интерфейс IndexedSeq[Char]
интерфейс IndexedSeqOps[Char, IndexedSeq, WrappedString]
интерфейс IndexedSeq[Char]
интерфейс IndexedSeqOps[Char, IndexedSeq, WrappedString]
класс AbstractSeq[Char]
интерфейс Seq[Char]
интерфейс SeqOps[Char, IndexedSeq, WrappedString]
интерфейс Iterable[Char]
класс AbstractSeq[Char]
интерфейс Seq[Char]
интерфейс Equals
интерфейс SeqOps[Char, IndexedSeq, WrappedString]
интерфейс PartialFunction[Int, Char]
интерфейс Int => Char
класс AbstractIterable[Char]
интерфейс Iterable[Char]
интерфейс IterableFactoryDefaults[Char, IndexedSeq]
интерфейс IterableOps[Char, IndexedSeq, WrappedString]
интерфейс IterableOnceOps[Char, IndexedSeq, WrappedString]
интерфейс IterableOnce[Char]
класс Object
интерфейс Matchable
класс Any

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

Исходный код
override def appendedAll[B >: Char](suffix: IterableOnce[B]): IndexedSeq[B]

Классы определений SeqOps

Исходный код
def apply(i: Int): Char

Исходный код
override def copyToArray[B >: Char](xs: Array[B], start: Int, len: Int): Int

Классы определений IterableOnceOps

Исходный код
override def empty: WrappedString

Классы определений IterableFactoryDefaults -> IterableOps

Исходный код
override def endsWith[B >: Char](that: Iterable[B]): Boolean

Классы определений SeqOps

Исходный код
override def equals(other: Any): Boolean

Definition Classes Seq -> Equals -> Any

Source
override def indexOf[B >: Char](elem: B, from: Int): Int

Definition Classes SeqOps

Source
override def lastIndexOf[B >: Char](elem: B, end: Int): Int

Definition Classes SeqOps

Source
override def length: Int

Definition Classes SeqOps

Source
override def sameElements[B >: Char](o: IterableOnce[B]): Boolean

Definition Classes IndexedSeq -> SeqOps

Source
override def slice(from: Int, until: Int): WrappedString

Definition Classes IndexedSeqOps -> IndexedSeqOps -> IterableOps -> IterableOnceOps

Source
override def startsWith[B >: Char](that: IterableOnce[B], offset: Int): Boolean

Definition Classes SeqOps

Source
override def stepper[S <: Stepper[_]](implicit shape: StepperShape[Char, S]): S & EfficientSplit

Definition Classes IndexedSeqOps -> IterableOnce

Source
override def toString: String

Definition Classes Seq -> Function1 -> Iterable -> Any

Источник
def unwrap: String

Неявным образом добавлено классом UnwrapOp

Источник
override def view: StringView

Классы-предки IndexedSeqOps -> SeqOps -> IterableOps

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

Источник@inline
final def ++[B >: Char](suffix: IterableOnce[B]): IndexedSeq[B]

Псевдоним для concat

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

Источник@inline
final override def ++:[B >: Char](prefix: IterableOnce[B]): IndexedSeq[B]

Псевдоним для prependedAll

Классы-предки SeqOps -> IterableOps
Наследуется от SeqOps

Источник@inline
final def +:[B >: Char](elem: B): IndexedSeq[B]

Псевдоним для prepended.

Обратите внимание, что операторы с окончанием «:» являются правоассоциативными (см. пример). Мнемоника для +: по сравнению с :+ заключается в том, что двоеточие ставится с «коллекцией».

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

Источник@inline
final def :+[B >: Char](elem: B): IndexedSeq[B]

Псевдоним для appended

Обратите внимание, что операторы с окончанием «:» являются правоассоциативными (см. пример). Мнемоника для +: по сравнению с :+ заключается в том, что двоеточие ставится с «коллекцией».

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

Источник@inline
final def :++[B >: Char](suffix: IterableOnce[B]): IndexedSeq[B]

Псевдоним для appendedAll

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

Источник@inline
final def addString(b: StringBuilder): 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, в который были добавлены элементы.

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

Источник@inline
final def addString(b: StringBuilder, sep: String): 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

разделительная строка.

Возвращает

строковый буфер b, в который были добавлены элементы.

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

Источник
def addString(b: StringBuilder, start: String, sep: String, end: String): 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

строковый буфер, в который добавляются элементы.

end

конечная строка.

sep

разделительная строка.

start

начальная строка.

Возвращает

строковый буфер b, в который были добавлены элементы.

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

Источник
def andThen[C](k: PartialFunction[Char, C]): PartialFunction[Int, C]

Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.

Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.

Параметры типа
C

тип результата функции преобразования.

Параметры
k

функция преобразования

Возвращает

частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая сопоставляет аргументы x с k(this(x)).

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

Источник
override def andThen[C](k: Char => C): PartialFunction[Int, C]

Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.

Если тип функции во время выполнения является PartialFunction, то используется другой метод andThen (обратите внимание на его предостережения).

Параметры типа
C

тип результата функции преобразования.

Параметры
k

функция преобразования

Возвращает

частичная функция с областью определения этой частичной функции, возможно, суженной указанной функцией, которая сопоставляет аргументы x с k(this(x)).

Классы-предки PartialFunction -> Function1
Наследуется от PartialFunction

Источник
def appended[B >: Char](elem: B): IndexedSeq[B]

Копия этой последовательности с добавленным элементом.

Примечание: не завершится для последовательностей бесконечного размера.

Пример:

scala> val a = List(1)
a: List[Int] = List(1)

scala> val b = a :+ 2
b: List[Int] = List(1, 2)

scala> println(a)
List(1)
END_OF_DOCUMENT_MARKER
Тип параметров
B

тип элемента возвращаемой последовательности.

Параметры значений
elem

добавляемый элемент

Возвращает

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

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

Источник
def applyOrElse[A1 <: Int, B1 >: Char](x: A1, default: A1 => B1): B1

Применяет эту частичную функцию к заданному аргументу, когда он содержится в области определения функции. Применяет функцию обратного вызова, когда эта частичная функция не определена.

Обратите внимание, что выражение pf.applyOrElse(x, default) эквивалентно

if(pf isDefinedAt x) pf(x) else default(x)

за исключением того, что метод applyOrElse может быть реализован более эффективно. Для всех литералов частичных функций компилятор генерирует реализацию applyOrElse, которая избегает двойного вычисления соответствий с образцом и защитных условий. Это делает applyOrElse основой для эффективной реализации многих операций и сценариев, таких как:

- объединение частичных функций в цепочки orElse/andThen не приводит к чрезмерному вычислению apply/isDefinedAt - lift и unlift не вычисляют исходные функции дважды при каждом вызове - runWith позволяет эффективно комбинировать частичные функции в императивном стиле с применением действий при определенных условиях

Для классов частичных функций, которые не являются литералами, и у которых метод isDefinedAt имеет нетривиальную реализацию, рекомендуется переопределить метод applyOrElse с пользовательской реализацией, которая избегает двойного вычисления isDefinedAt. Это может привести к улучшению производительности и более предсказуемому поведению относительно побочных эффектов.

Параметры значений
default

функция обратного вызова

x

аргумент функции

Возвращает

результат применения этой функции или функции обратного вызова.

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

Источник
override def canEqual(that: Any): Boolean

Классы-предки IndexedSeq -> Seq -> Equals
Унаследовано от IndexedSeq

Источник
def collect[B](pf: PartialFunction[Char, B]): IndexedSeq[B]

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

Источник
def collectFirst[B](pf: PartialFunction[Char, B]): Option[B]

Находит первый элемент в коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.

Примечание: может не завершиться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

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

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

Возвращает

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

Пример

Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)

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

Источник
def combinations(n: Int): Iterator[WrappedString]

Итерируется по комбинациям. _Комбинация_ длины n — это подпоследовательность исходной последовательности, с элементами, взятыми в порядке следования. Таким образом, "xy" и "yy" — обе комбинации длины 2 из "xyy", но "yx" таковой не является. Если существует более одного способа сгенерировать одну и ту же подпоследовательность, будет возвращена только одна.

Например, "xyyy" имеет три различных способа сгенерировать "xy" в зависимости от того, какой первый, второй или третий "y" был выбран. Однако, так как все они идентичны, будет выбран только один. Какой из трёх будет выбран — это деталь реализации, которая не определена.

Примечание: даже при применении к представлению или ленивой коллекции все элементы будут всегда принудительно вычислены.

Возвращает

Итератор, который перебирает возможные комбинации из n элементов этой последовательности.

Пример

"abbbc".combinations(2) = Iterator(ab, ac, bb, bc)

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

Источник
def compose[R](k: PartialFunction[R, Int]): PartialFunction[R, Char]

Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.

Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется вызывать applyOrElse вместо isDefinedAt или apply.

Тип параметров
R

тип параметра функции преобразования.

Параметры значений
k

функция преобразования

Возвращает

частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы x на this(k(x)).

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

Источник@unspecialized
def compose[A](g: A => Int): A => Char

Компонует две части Function1 в новую Function1, где эта функция применяется последней.

Тип параметров
A

тип, к которому может быть применена функция g

Параметры значений
g

функция A => T1

Возвращает

новая функция f такая, что f(x) == apply(g(x))

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

Источник@inline
final override def concat[B >: Char](suffix: IterableOnce[B]): IndexedSeq[B]

Классы-предки SeqOps -> IterableOps
Унаследовано от SeqOps

Источник
def contains[A1 >: Char](elem: A1): Boolean

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

Примечание: может не завершиться для коллекций бесконечного размера.

Параметры значений
elem

тестируемый элемент

Возвращает

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

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

Источник
def containsSlice[B >: Char](that: Seq[B]): Boolean

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

Примечание: может не завершиться для коллекций бесконечного размера.

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

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

Возвращает

true, если эта последовательность содержит срез с теми же элементами, что и that, в противном случае false.

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

Источник@deprecatedOverriding("Это всегда должно пересылать в 3-аргументную версию этого метода", since = "2.13.4")
def copyToArray[B >: Char](xs: Array[B], start: Int): Int

Копирование элементов в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs, начиная с индекса start, значениями этой коллекции.

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

Параметры типа
B

тип элементов массива.

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

начальный индекс xs.

xs

массив для заполнения.

Возвращает

количество элементов, записанных в массив

Примечание

Использование: После вызова этого метода следует отказаться от итератора, на котором он был вызван. Его использование не определено и может измениться.

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

Источник@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: Char](xs: Array[B]): Int

Копирование элементов в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs, начиная с индекса start, значениями этой коллекции.

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

Параметры типа
B

тип элементов массива.

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

массив для заполнения.

Возвращает

количество элементов, записанных в массив

Примечание

Использование: После вызова этого метода следует отказаться от итератора, на котором он был вызван. Его использование не определено и может измениться.

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

Источник
def corresponds[B](that: Seq[B])(p: (Char, B) => Boolean): Boolean

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

Параметры типа
B

тип элементов that

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

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

that

другая последовательность

Возвращает

true, если обе последовательности имеют одинаковую длину и p(x, y) является true для всех соответствующих элементов x этой последовательности и y последовательности that, в противном случае false.

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

Источник
def corresponds[B](that: IterableOnce[B])(p: (Char, B) => Boolean): Boolean

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

Примечание: не завершится для коллекций бесконечного размера.

Параметры типа
B

тип элементов that

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

предикат теста, который связывает элементы из обеих коллекций

that

другая коллекция

Возвращает

true, если обе коллекции имеют одинаковую длину и p(x, y) является true для всех соответствующих элементов x этого итератора и y коллекции that, в противном случае false

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

Source
def count(p: Char => Boolean): Int

Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.

Примечание: не завершится для коллекций бесконечного размера.

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

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

Возвращает

количество элементов, удовлетворяющих предикату p.

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

Source
def diff[B >: Char](that: Seq[B]): WrappedString

Вычисляет разность множеств между этой последовательностью и другой последовательностью.

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

последовательность элементов, которые нужно удалить

Возвращает

новая последовательность, содержащая все элементы этой последовательности, за исключением некоторых вхождений элементов, которые также встречаются в that. Если значение элемента x встречается n раз в that, то первые n вхождений x не будут частью результата, но любые последующие вхождения будут.

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

Source
def distinct: WrappedString

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

Возвращает

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

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

Source
def distinctBy[B](f: Char => B): WrappedString

Выбирает все элементы этой последовательности, игнорируя дубликаты, как определено == после применения преобразующей функции f.

Параметры типа
B

тип элементов после преобразования f

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

Преобразующая функция, результат которой используется для определения уникальности каждого элемента

Возвращает

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

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

Source
override def drop(n: Int): WrappedString

Классы-определения IndexedSeqOps -> IterableOps -> IterableOnceOps
Унаследовано от IndexedSeqOps

Source
override def dropRight(n: Int): WrappedString

Классы-определения IndexedSeqOps -> IterableOps
Унаследовано от IndexedSeqOps

Source
def dropWhile(p: Char => Boolean): WrappedString

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

Source
def elementWise: ElementWiseExtractor[Int, Char]

Возвращает объект-экстрактор с методом unapplySeq, который извлекает каждый элемент данных последовательности.

Пример
val firstChar: String => Option[Char] = _.headOption
Seq("foo", "bar", "baz") match {
  case firstChar.unlift.elementWise(c0, c1, c2) =>
    println(s"$c0, $c1, $c2") // Output: f, b, b
}
Наследуется от PartialFunction

Source
def exists(p: Char => Boolean): Boolean

Проверяет, выполняется ли предикат хотя бы для одного элемента этого набора.

Примечание: может не завершиться для коллекций бесконечного размера.

Параметры
p

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

Возвращает

true, если заданный предикат p выполняется хотя бы для одного элемента этой коллекции, в противном случае false

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

Source
def filter(pred: Char => Boolean): WrappedString

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

Source
def filterNot(pred: Char => Boolean): WrappedString

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

Source
def find(p: Char => Boolean): Option[Char]

Находит первый элемент в коллекции, удовлетворяющий предикату, если таковой существует.

Примечание: может не завершиться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Параметры
p

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

Возвращает

значение типа option, содержащее первый элемент в коллекции, удовлетворяющий предикату p, или None, если таковой не существует.

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

Source
def findLast(p: Char => Boolean): Option[Char]

Находит последний элемент в последовательности, удовлетворяющий предикату, если таковой существует.

Примечание: не завершится для коллекций бесконечного размера.

Параметры
p

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

Возвращает

значение типа option, содержащее последний элемент в последовательности, удовлетворяющий предикату p, или None, если таковой не существует.

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

Source
def flatMap[B](f: Char => IterableOnce[B]): IndexedSeq[B]

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

Source
def flatten[B](implicit asIterable: Char => IterableOnce[B]): IndexedSeq[B]

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

Source
def fold[A1 >: Char](z: A1)(op: (A1, A1) => A1): A1

Складывает элементы этой коллекции с использованием заданного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.

Порядок выполнения операций над элементами не определен и может быть не детерминированным.

Примечание: не завершится для коллекций бесконечного размера.

Параметры типа
A1

параметр типа для бинарного оператора, являющийся супертипом A.

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

бинарный оператор, который должен быть ассоциативным.

z

нейтральный элемент для операции fold; может быть добавлен к результату произвольное количество раз и не должен изменять результат (например, Nil для конкатенации списков, 0 для сложения или 1 для умножения).

Возвращает

результат применения оператора fold op между всеми элементами и z, или z, если эта коллекция пуста.

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

Source
def foldLeft[B](z: B)(op: (B, Char) => B): B

Применяет бинарный оператор к начальному значению и всем элементам этой коллекции слева направо.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.

Параметры типа
B

тип результата бинарного оператора.

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

бинарный оператор.

z

начальное значение.

Возвращает

результат вставки op между последовательными элементами этой коллекции слева направо с начальным значением z слева: op(...op(z, x1), x2, ..., xn), где x1, ..., xn — элементы этой коллекции. Возвращает z, если эта коллекция пуста.

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

Source
override def foldRight[B](z: B)(op: (Char, B) => B): B

Классы-определения IndexedSeqOps -> IterableOnceOps
Унаследовано от IndexedSeqOps

Source
def forall(p: Char => Boolean): Boolean

Проверяет, выполняется ли предикат для всех элементов этой коллекции.

Примечание: может не завершиться для коллекций бесконечного размера.

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

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

Возвращает

true, если эта коллекция пуста или заданный предикат p выполняется для всех элементов этой коллекции, в противном случае false.

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

Source
def foreach[U](f: Char => U): Unit

Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.

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

Source
def groupBy[K](f: Char => K): Map[K, WrappedString]

Разбивает эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с некоторой функцией-дискриминатором.

Примечание: Даже при применении к представлению или ленивому набору он всегда будет принудительно вызывать элементы.

Параметры типа
K

тип ключей, возвращаемых функцией-дискриминатором.

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

функция-дискриминатор.

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

Карта, отображающая ключи на итерируемые наборы, для которой выполняется следующее инвариантное свойство:

(xs groupBy f)(k) = xs filter (x => f(x) == k)

То есть, каждый ключ k связан с итерируемым набором тех элементов x, для которых f(x) равно k.

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

Исходный код
def groupMap[K, B](key: Char => K)(f: Char => B): Map[K, IndexedSeq[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)

Примечание: Даже при применении к представлению или ленивому набору он всегда будет принудительно вызывать элементы.

Параметры типа
B

тип значений, возвращаемых функцией преобразования

K

тип ключей, возвращаемых функцией-дискриминатором

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

функция преобразования элементов

key

функция-дискриминатор

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

Исходный код
def groupMapReduce[K, B](key: Char => K)(f: Char => B)(reduce: (B, B) => B): Map[K, B]

Разделяет этот итерируемый набор на карту в соответствии с функцией-дискриминатором key. Все значения, имеющие одинаковый дискриминатор, затем преобразуются с помощью функции f, а затем сводятся к одному значению с помощью функции reduce.

Это эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.

def occurrences[A](as: Seq[A]): Map[A, Int] =
  as.groupMapReduce(identity)(_ => 1)(_ + _)

Примечание: Даже при применении к представлению или ленивому набору он всегда будет принудительно вызывать элементы.

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

Исходный код
def grouped(size: Int): Iterator[WrappedString]

Разделяет элементы на итерируемые наборы фиксированного размера.

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

количество элементов в группе

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

Итератор, генерирующий итерируемые наборы размера size, за исключением последнего, который будет меньше размера size, если элементы не делятся на размер равномерно.

См. также

scala.collection.Iterator, метод grouped

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

Исходный код
override def hashCode(): Int

Классы-предки Seq -> Any
Унаследовано от Seq

Исходный код
override def head: Char

Классы-предки IndexedSeqOps -> IterableOps
Унаследовано от IndexedSeqOps

Исходный код
override def headOption: Option[Char]

Классы-предки IndexedSeqOps -> IterableOps
Унаследовано от IndexedSeqOps

Исходный код@deprecatedOverriding("Override indexOf(elem, from) instead - indexOf(elem) calls indexOf(elem, 0)", "2.13.0")
def indexOf[B >: Char](elem: B): Int

Находит индекс первого вхождения некоторого значения в эту последовательность.

Параметры типа
B

тип элемента elem.

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

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

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

индекс >= 0 первого элемента этой последовательности, который равен (определяется по ==) элементу elem, или -1, если такого элемента нет.

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

Исходный код@deprecatedOverriding("Override indexOfSlice(that, from) instead - indexOfSlice(that) calls indexOfSlice(that, 0)", "2.13.0")
def indexOfSlice[B >: Char](that: Seq[B]): Int

Находит первый индекс, где эта последовательность содержит заданную последовательность как срез.

Примечание: может не завершаться для бесконечных коллекций.

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

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

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

первый индекс >= 0, начиная с которого элементы этой последовательности соответствуют элементам последовательности that, или -1, если такой подпоследовательности нет.

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

Исходный код
def indexOfSlice[B >: Char](that: Seq[B], from: Int): Int

Находит первый индекс после или на стартовом индексе, где эта последовательность содержит заданную последовательность как срез.

Примечание: может не завершаться для бесконечных коллекций.

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

стартовый индекс

that

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

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

первый индекс >= from, начиная с которого элементы этой последовательности соответствуют элементам последовательности that, или -1, если такой подпоследовательности нет.

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

Исходный код@deprecatedOverriding("Override indexWhere(p, from) instead - indexWhere(p) calls indexWhere(p, 0)", "2.13.0")
def indexWhere(p: Char => Boolean): Int

Находит индекс первого элемента, удовлетворяющего некоторому предикату.

Примечание: может не завершаться для бесконечных коллекций.

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

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

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

индекс >= 0 первого элемента этой последовательности, удовлетворяющего предикату p, или -1, если такого элемента нет.

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

Исходный код
def indexWhere(p: Char => Boolean, from: Int): Int

Находит индекс первого элемента, удовлетворяющего некоторому предикату после или на некотором стартовом индексе.

Примечание: может не завершаться для бесконечных коллекций.

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

начальный индекс

p

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

Возвращает

индекс >= from первого элемента этой последовательности, удовлетворяющего предикату p, или -1, если такого элемента нет.

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

Источник
def indices: Range

Создаёт диапазон всех индексов этой последовательности.

Примечание: Даже при применении к представлению или ленивой коллекции она всегда будет принудительно вычислять элементы.

Возвращает

значение Range от 0 до значения на единицу меньше длины этой последовательности.

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

Источник
def init: WrappedString

Первая часть коллекции без её последнего элемента.

Примечание: Даже при применении к представлению или ленивой коллекции она всегда будет принудительно вычислять элементы.

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

Источник
def inits: Iterator[WrappedString]

Итерируется по начальным частям (inits) этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией. Промежуточные значения — результаты последовательного применения init.

Примечание: Даже при применении к представлению или ленивой коллекции она всегда будет принудительно вычислять элементы.

Возвращает

итератор по всем начальным частям (inits) этой итерируемой коллекции

Пример

List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)

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

Источник
def intersect[B >: Char](that: Seq[B]): WrappedString

Вычисляет пересечение множеств элементов этой последовательности и другой последовательности.

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

последовательность элементов для пересечения.

Возвращает

новая последовательность, которая содержит все элементы этой последовательности, которые также появляются в that. Если значение элемента x появляется n раз в that, то первые n вхождений x будут сохранены в результате, но любые последующие вхождения будут опущены.

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

Источник
def isDefinedAt(idx: Int): Boolean

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

Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].

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

индекс для проверки

Возвращает

true, если эта последовательность содержит элемент в позиции idx, false в противном случае.

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

Источник
override def isEmpty: Boolean

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

Источник
override def isTraversableAgain: Boolean

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

Источник
override def iterableFactory: SeqFactory[IndexedSeq]

Классы определений IndexedSeq -> IndexedSeq -> Seq -> Seq -> Iterable -> Iterable -> IterableOps
Унаследовано от IndexedSeq

Источник
def iterator: Iterator[Char]

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

Источник
override def knownSize: Int

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

Источник
override def last: Char

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

Источник@deprecatedOverriding("Override lastIndexOfSlice(that, end) instead - lastIndexOfSlice(that) calls lastIndexOfSlice(that, Int.MaxValue)", "2.13.0")
def lastIndexOfSlice[B >: Char](that: Seq[B]): Int

Находит последний индекс, где эта последовательность содержит заданную последовательность в виде слайса.

Примечание: не будет завершаться для коллекций бесконечного размера.

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

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

Возвращает

последний индекс, такой что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности that, или -1, если такая подпоследовательность не существует.

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

Источник
def lastIndexOfSlice[B >: Char](that: Seq[B], end: Int): Int

Находит последний индекс до или на заданном конечном индексе, где эта последовательность содержит заданную последовательность в виде слайса.

Примечание: не будет завершаться для коллекций бесконечного размера.

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

конечный индекс

that

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

Возвращает

последний индекс <= end, такой что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности that, или -1, если такая подпоследовательность не существует.

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

Источник@deprecatedOverriding("Override lastIndexWhere(p, end) instead - lastIndexWhere(p) calls lastIndexWhere(p, Int.MaxValue)", "2.13.0")
def lastIndexWhere(p: Char => Boolean): Int

Находит индекс последнего элемента, удовлетворяющего некоторому предикату.

Примечание: не будет завершаться для коллекций бесконечного размера.

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

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

Возвращает

индекс последнего элемента этой последовательности, удовлетворяющего предикату p, или -1, если такового нет.

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

Исходный код
def lastIndexWhere(p: Char => Boolean, end: Int): Int

Находит индекс последнего элемента, удовлетворяющего некоторому предикату перед или в указанном индексе.

Примечание: не будет завершаться для коллекций бесконечного размера.

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

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

Возвращает

индекс <= end последнего элемента этой последовательности, удовлетворяющего предикату p, или -1, если такового нет.

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

Исходный код
def lastOption: Option[Char]

Выбирает последний элемент необязательно.

Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.

Возвращает

последний элемент этой итерируемой коллекции$, если она не пуста, None, если она пуста.

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

Исходный код
def lazyZip[B](that: Iterable[B]): LazyZip2[Char, B, WrappedString]

Аналогично 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

тип второго элемента в каждой возможной паре

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

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

Возвращает

декоратор LazyZip2, который позволяет выполнять строгие операции над лениво вычисляемыми парами или цепочкой вызовов lazyZip. Также поддерживается неявное преобразование в Iterable[(A, B)].

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

Исходный код
final override def lengthCompare(that: Iterable[_]): Int

Классы-определения IndexedSeqOps -> SeqOps
Унаследовано от IndexedSeqOps

Исходный код
final override def lengthCompare(len: Int): Int

Классы-определения IndexedSeqOps -> SeqOps
Унаследовано от IndexedSeqOps

Исходный код@inline
final def lengthIs: SizeCompareOps

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

Эти операции реализуются с помощью lengthCompare(Int) и позволяют использовать следующие более удобочитаемые выражения:

this.lengthIs < len     // this.lengthCompare(len) < 0
this.lengthIs <= len    // this.lengthCompare(len) <= 0
this.lengthIs == len    // this.lengthCompare(len) == 0
this.lengthIs != len    // this.lengthCompare(len) != 0
this.lengthIs >= len    // this.lengthCompare(len) >= 0
this.lengthIs > len     // this.lengthCompare(len) > 0
Унаследовано от SeqOps

Исходный код
def lift: Int => Option[Char]

Преобразует эту частичную функцию в обычную функцию, возвращающую Option результат.

Возвращает

функция, которая принимает аргумент x и возвращает Some(this(x)), если this определено для x, и None в противном случае.

См. также

Function.unlift

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

Исходный код
override def map[B](f: Char => B): IndexedSeq[B]

Классы-определения IndexedSeqOps -> IterableOps -> IterableOnceOps
Унаследовано от IndexedSeqOps

Исходный код
def max[B >: Char](implicit ord: Ordering[B]): Char

Находит наибольший элемент.

Примечание: не будет завершаться для коллекций бесконечного размера.

Параметры типа
B

Тип, по которому определено упорядочение.

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

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

Возвращает

наибольший элемент этой коллекции относительно упорядочения ord.

Исключения
UnsupportedOperationException

если эта коллекция пуста.

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

Исходный код
def maxBy[B](f: Char => B)(implicit cmp: Ordering[B]): Char

Находит первый элемент, который дает наибольшее значение, измеренное функцией f.

Примечание: не будет завершаться для коллекций бесконечного размера.

Параметры типа
B

Тип результата функции f.

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

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

f

Функция измерения.

Возвращает

первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно упорядочения cmp.

Исключения
UnsupportedOperationException

если эта коллекция пуста.

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

Исходный код
def maxByOption[B](f: Char => B)(implicit cmp: Ordering[B]): Option[Char]

Находит первый элемент, который дает наибольшее значение, измеренное функцией f.

Примечание: не будет завершаться для коллекций бесконечного размера.

Параметры типа
B

Тип результата функции f.

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

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

f

Функция измерения.

Возвращает

значение опции, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно упорядочения cmp.

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

Исходный код
def maxOption[B >: Char](implicit ord: Ordering[B]): Option[Char]

Находит наибольший элемент.

Примечание: не будет завершаться для коллекций бесконечного размера.

Параметры типа
B

Тип, над которым определяется порядок.

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

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

Возвращает

значение опции, содержащее наибольший элемент этого набора относительно порядка ord.

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

Исходный код
def min[B >: Char](implicit ord: Ordering[B]): Char

Находит наименьший элемент.

Примечание: не завершится для наборов бесконечного размера.

Параметры типа
B

Тип, над которым определяется порядок.

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

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

Возвращает

наименьший элемент этого набора относительно порядка ord.

Исключения
UnsupportedOperationException

если этот набор пуст.

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

Исходный код
def minBy[B](f: Char => B)(implicit cmp: Ordering[B]): Char

Находит первый элемент, который дает наименьшее значение, измеряемое функцией f.

Примечание: не завершится для наборов бесконечного размера.

Параметры типа
B

Тип результата функции f.

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

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

f

Функция измерения.

Возвращает

первый элемент этого набора с наименьшим значением, измеренным функцией f, относительно порядка cmp.

Исключения
UnsupportedOperationException

если этот набор пуст.

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

Исходный код
def minByOption[B](f: Char => B)(implicit cmp: Ordering[B]): Option[Char]

Находит первый элемент, который дает наименьшее значение, измеряемое функцией f.

Примечание: не завершится для наборов бесконечного размера.

Параметры типа
B

Тип результата функции f.

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

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

f

Функция измерения.

Возвращает

значение опции, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f, относительно порядка cmp.

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

Исходный код
def minOption[B >: Char](implicit ord: Ordering[B]): Option[Char]

Находит наименьший элемент.

Примечание: не завершится для наборов бесконечного размера.

Параметры типа
B

Тип, над которым определяется порядок.

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

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

Возвращает

значение опции, содержащее наименьший элемент этого набора относительно порядка ord.

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

Исходный код@inline
final def mkString: String

Отображает все элементы этого набора в строке.

Делегируется addString, который можно переопределить.

Возвращает

строковое представление этого набора. В результирующей строке строковые представления (с точки зрения метода toString) всех элементов этого набора следуют друг за другом без разделительной строки.

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

Исходный код@inline
final def mkString(sep: String): String

Отображает все элементы этого набора в строке с использованием разделительной строки.

Делегируется addString, который можно переопределить.

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

разделительная строка.

Возвращает

строковое представление этого набора. В результирующей строке строковые представления (с точки зрения метода toString) всех элементов этого набора разделены строкой sep.

Пример

List(1, 2, 3).mkString("|") = "1|2|3"

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

Исходный код
final def mkString(start: String, sep: String, end: String): String

Отображает все элементы этого набора в строке с использованием начальной, конечной и разделительной строк.

Делегируется addString, который можно переопределить.

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

конечная строка.

sep

разделительная строка.

start

начальная строка.

Возвращает

строковое представление этого набора. Результирующая строка начинается со строки start и заканчивается строкой end. Внутри строковые представления (с точки зрения метода toString) всех элементов этого набора разделены строкой sep.

Пример

List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"

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

Исходный код@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

Проверяет, не пуст ли набор.

Возвращает

true, если набор содержит по крайней мере один элемент, false в противном случае.

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

Исходный код
def orElse[A1 <: Int, B1 >: Char](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

Компонует эту частичную функцию с частичной функцией-заместителем, которая применяется в тех случаях, когда эта частичная функция не определена.

Параметры типа
A1

тип аргумента функции-заместителя

B1

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

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

функция-заместитель

Возвращает

частичная функция, область определения которой является объединением областей определения этой частичной функции и that. Результирующая частичная функция принимает x к this(x), где this определена, и к that(x), где она не определена.

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

Исходный код
def padTo[B >: Char](len: Int, elem: B): IndexedSeq[B]

Копия этого набора с добавленным элементом, пока не будет достигнута заданная целевая длина.

Тип параметров
B

тип элементов возвращаемой последовательности.

Параметры значений
elem

значение отступа

len

целевая длина

Возвращает

новая последовательность, состоящая из всех элементов этой последовательности, за которыми следует минимальное количество вхождений elem, так что полученная коллекция имеет длину не менее len.

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

Источник
def partition(p: Char => Boolean): (WrappedString, WrappedString)

Пара, где первый элемент — все элементы, удовлетворяющие предикату p, а второй — все элементы, которые не удовлетворяют ему. Интересно, потому что разбивает коллекцию на две части.

Указанная здесь реализация по умолчанию должна пройтись по коллекции дважды. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.

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

Источник
def partitionMap[A1, A2](f: Char => Either[A1, A2]): (IndexedSeq[A1], IndexedSeq[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.

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

Источник
def patch[B >: Char](from: Int, other: IterableOnce[B], replaced: Int): IndexedSeq[B]

Создаёт новую последовательность, где фрагмент элементов в этой последовательности заменяется другой последовательностью.

Замена по отрицательным индексам эквивалентна замене, начинающейся с 0. Замена по индексам, равным или большим длины исходной последовательности, добавляет замену в конец. Если заменяется больше значений, чем фактически существует, избыток игнорируется.

Тип параметров
B

тип элементов возвращаемой последовательности.

Параметры значений
from

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

other

замещающая последовательность

replaced

количество элементов для удаления в исходной последовательности

Возвращает

новая последовательность, состоящая из всех элементов этой последовательности за исключением того, что replaced элементы, начиная с from, заменяются всеми элементами other.

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

Источник
def permutations: Iterator[WrappedString]

Итерирует по различным перестановкам.

Примечание: даже когда применяется к представлению или ленивой коллекции, она всегда форсирует элементы.

Возвращает

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

Пример

"abb".permutations = Iterator(abb, bab, bba)

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

Источник
override def prepended[B >: Char](elem: B): IndexedSeq[B]

Классы-предки IndexedSeqOps -> SeqOps
Унаследовано от IndexedSeqOps

Источник
def prependedAll[B >: Char](prefix: IterableOnce[B]): IndexedSeq[B]

Так же, как и :++, возвращает новую коллекцию, содержащую элементы левого операнда, за которыми следуют элементы правого операнда.

Отличается от :++ тем, что правый операнд определяет тип результирующей коллекции, а не левый. Мемоирическое правило: двоеточие стоит со стороны нового типа коллекции.

Тип параметров
B

тип элементов возвращаемой коллекции.

Параметры значений
prefix

итерируемый объект для добавления в начало.

Возвращает

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

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

Источник
def product[B >: Char](implicit num: Numeric[B]): B

Умножает элементы этой коллекции.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

тип результата операции *.

Параметры значений
num

явный параметр, определяющий набор числовых операций, включающий операцию *, используемую при формировании произведения.

Возвращает

произведение всех элементов этой коллекции относительно операции * в num.

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

Источник
def reduce[B >: Char](op: (B, B) => B): B

Сводит элементы этой коллекции с помощью указанной ассоциативной бинарной операции.

Порядок выполнения операций над элементами не определён и может быть не детерминированным.

Тип параметров
B

Тип параметра для бинарной операции, являющийся супертипом A.

Параметры значений
op

Бинарная операция, которая должна быть ассоциативной.

Возвращает

Результат применения операции reduce op между всеми элементами, если коллекция не пуста.

Исключения
UnsupportedOperationException

если коллекция пуста.

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

Источник
def reduceLeft[B >: Char](op: (B, Char) => B): B

Применяет бинарную операцию ко всем элементам этой коллекции слева направо.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип основной коллекции не упорядочен или оператор не ассоциативен и коммутативен.

Тип параметров
B

тип результата бинарной операции.

Параметры значений
op

бинарная операция.

Возвращает

результат вставки op между последовательными элементами этой коллекции слева направо: op( op( ... op(x1, x2) ..., xn-1), xn), где x1, ..., xn — элементы этой коллекции.

Исключения
UnsupportedOperationException

если коллекция пуста.

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

Source
def reduceLeftOption[B >: Char](op: (B, Char) => B): Option[B]

Возвращает значение, полученное при применении бинарного оператора ко всем элементам коллекции слева направо, если коллекция непуста, иначе None.

Примечание: не завершится для коллекций бесконечной длины.

Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен или оператор не ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

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

бинарный оператор.

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

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

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

Source
def reduceOption[B >: Char](op: (B, B) => B): Option[B]

Применяет указанный ассоциативный бинарный оператор ко всем элементам коллекции (если таковые имеются).

Порядок выполнения операций над элементами не определен и может быть недетерминированным.

Параметры типа
B

Тип параметра для бинарного оператора, являющийся супертипом A.

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

Бинарный оператор, который должен быть ассоциативным.

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

Значение Option, содержащее результат применения оператора reduce ко всем элементам коллекции, если коллекция непуста, иначе None.

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

Source
def reduceRight[B >: Char](op: (Char, B) => B): B

Применяет бинарный оператор ко всем элементам коллекции справа налево.

Примечание: не завершится для коллекций бесконечной длины.

Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен или оператор не ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

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

бинарный оператор.

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

результат вставки op между последовательными элементами коллекции справа налево: op(x1, op(x2, ..., op(xn-1, xn)...)), где x1, ..., xn - элементы этой коллекции.

Исключения
UnsupportedOperationException

если коллекция пуста.

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

Source
def reduceRightOption[B >: Char](op: (Char, B) => B): Option[B]

Возвращает значение Option, полученное при применении бинарного оператора ко всем элементам коллекции справа налево, если коллекция непуста, иначе None.

Примечание: не завершится для коллекций бесконечной длины.

Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен или оператор не ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

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

бинарный оператор.

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

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

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

Source
override def reverse: WrappedString

Определяющие классы IndexedSeqOps -> SeqOps
Унаследовано от IndexedSeqOps

Source
override def reverseIterator: Iterator[Char]

Определяющие классы IndexedSeqOps -> SeqOps
Унаследовано от IndexedSeqOps

Source
override protected def reversed: Iterable[Char]

Definition Classes IndexedSeqOps -> IterableOnceOps
Inherited from IndexedSeqOps

Source
def runWith[U](action: Char => U): Int => Boolean

Компонует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; её результат игнорируется.

Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно

if(pf isDefinedAt x) { action(pf(x)); true } else false

за исключением того, что runWith реализовано через applyOrElse и, следовательно, потенциально более эффективно. Использование runWith позволяет избежать двойного вычисления совпадений с шаблонами и условий для частичных функций-литералов.

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

функция действия

Возвращает

функцию, которая отображает аргументы x в isDefinedAt(x). Результирующая функция выполняет action(this(x)), где this определена.

См. также

applyOrElse.

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

Source
def scan[B >: Char](z: B)(op: (B, B) => B): IndexedSeq[B]

Вычисляет префиксное сканирование элементов коллекции.

Примечание: нейтральный элемент z может применяться более одного раза.

Параметры типа
B

тип элемента результирующей коллекции

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

ассоциативный оператор для сканирования

z

нейтральный элемент для оператора op

Возвращает

новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции

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

Source
def scanLeft[B](z: B)(op: (B, Char) => B): IndexedSeq[B]

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

Source
def scanRight[B](z: B)(op: (Char, B) => B): IndexedSeq[B]

Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Голова коллекции — это последний кумулятивный результат.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Примечание: даже при применении к представлению или ленивой коллекции всегда будет принудительно вычислять элементы.

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
Параметры типа
B

тип элементов в результирующей коллекции

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

бинарный оператор, применяемый к промежуточному результату и элементу

z

начальное значение

Возвращает

коллекция с промежуточными результатами

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

Исходный код
override def search[B >: Char](elem: B, from: Int, to: Int)(implicit ord: Ordering[B]): SearchResult

Классы-определения IndexedSeqOps -> SeqOps
Унаследовано от IndexedSeqOps

Исходный код
override def search[B >: Char](elem: B)(implicit ord: Ordering[B]): SearchResult

Классы-определения IndexedSeqOps -> SeqOps
Унаследовано от IndexedSeqOps

Исходный код
def segmentLength(p: Char => Boolean, from: Int): Int

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

Примечание: может не завершиться для коллекций бесконечного размера.

Параметры
from

индекс, с которого начинается поиск.

p

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

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

длина самой длинной последовательности в этой последовательности, начинающейся с индекса from, такая что каждый элемент последовательности удовлетворяет предикату p.

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

Исходный код
final def segmentLength(p: Char => Boolean): Int

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

Примечание: может не завершиться для коллекций бесконечного размера.

Параметры
p

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

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

длина самой длинной последовательности в этой последовательности, начинающейся с первого элемента, такая что каждый элемент последовательности удовлетворяет предикату p.

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

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

Классы-определения SeqOps -> IterableOnceOps
Унаследовано от SeqOps

Исходный код
final override def sizeCompare(that: Iterable[_]): Int

Классы-определения SeqOps -> IterableOps
Унаследовано от SeqOps

Исходный код
final override def sizeCompare(otherSize: Int): Int

Классы-определения SeqOps -> IterableOps
Унаследовано от SeqOps

Исходный код@inline
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
Унаследовано от IterableOps

Исходный код
def sliding(size: Int, step: Int): Iterator[WrappedString]

Группирует элементы в блоки фиксированного размера, перемещая "скользящее окно" по ним (в отличие от разделения на части, как в grouped.)

Возвращаемый итератор будет пустым при вызове на пустой коллекции. Последний элемент, который производит итератор, может быть меньше размера окна, если исходная коллекция не исчерпана окном до конца и ее последний элемент не пропущен шагом перед ним.

Параметры
size

количество элементов в группе

step

расстояние между первыми элементами последовательных групп

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

Итератор, производящий итерируемые коллекции размера size, за исключением последнего элемента (который может быть единственным элементом), который будет меньше, если осталось меньше чем size элементов для группирования.

См. также

scala.collection.Iterator, метод sliding

Пример

List(1, 2, 3, 4, 5).sliding(2, 2) = Iterator(List(1, 2), List(3, 4), List(5))

List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

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

Исходный код
def sliding(size: Int): Iterator[WrappedString]

Группирует элементы в блоки фиксированного размера, перемещая "скользящее окно" по ним (в отличие от разделения на части, как в grouped.)

Пустая коллекция возвращает пустой итератор, а ненулевая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который произведёт исходную коллекцию как свой единственный элемент.

Параметры
size

количество элементов в группе

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

Итератор, производящий итерируемые коллекции размера size, за исключением ненулевой коллекции с менее чем size элементами, которая возвращает итератор, производящий исходную коллекцию как свой единственный элемент.

См. также

scala.collection.Iterator, метод sliding

Пример

List().sliding(2) = empty iterator

List(1).sliding(2) = Iterator(List(1))

List(1, 2).sliding(2) = Iterator(List(1, 2))

List(1, 2, 3).sliding(2) = Iterator(List(1, 2), List(2, 3))

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

Исходный код
def sortBy[B](f: Char => B)(implicit ord: Ordering[B]): WrappedString

Сортирует эту последовательность в соответствии с упорядочиванием, полученным из преобразования заданного неявно упорядочивания с помощью функции преобразования.

Примечание: не завершается для коллекций бесконечного размера.

Примечание: даже при применении к представлению или ленивой коллекции всегда будет принудительно обрабатывать элементы.

Сортировка стабильна. То есть, элементы, которые равны (как определяется ord.compare), отображаются в том же порядке в отсортированной последовательности, что и в исходной.

Параметры типа
B

целевой тип преобразования f и тип, в котором определено упорядочивание ord.

Параметры
f

функция преобразования, отображающая элементы в другую область B.

ord

упорядочивание, предполагаемое в области B.

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

последовательность, состоящая из элементов этой последовательности, отсортированной в соответствии с упорядочиванием, где x < y, если ord.lt(f(x), f(y)).

См. также

scala.math.Ordering

Пример
val words = "The quick brown fox jumped over the lazy dog".split(' ')
// this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
words.sortBy(x => (x.length, x.head))
res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
Унаследовано от SeqOps

Исходный код
def sortWith(lt: (Char, Char) => Boolean): WrappedString

Сортирует эту последовательность в соответствии с функцией сравнения.

END_OF_DOCUMENT_MARKER

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: Даже при применении к представлению или ленивой коллекции она всегда будет принудительно форсировать элементы.

Сортировка является стабильной. То есть элементы, которые равны (как определено lt), появляются в том же порядке в отсортированной последовательности, что и в оригинальной.

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

функция сравнения, которая проверяет, предшествует ли первый аргумент второму аргументу в желаемом порядке.

Возвращает

последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с функцией сравнения lt.

Пример
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
Унаследовано от SeqOps

Источник
def sorted[B >: Char](implicit ord: Ordering[B]): WrappedString

Сортирует эту последовательность в соответствии с Ordering.

Сортировка является стабильной. То есть элементы, которые равны (как определено ord.compare), появляются в том же порядке в отсортированной последовательности, что и в оригинальной.

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

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

Возвращает

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

См. также

scala.math.Ordering Примечание: Даже при применении к представлению или ленивой коллекции она всегда будет принудительно форсировать элементы.

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

Источник
def span(p: Char => Boolean): (WrappedString, WrappedString)

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

Источник
override def splitAt(n: Int): (WrappedString, WrappedString)

Классы-предки IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Источник
def sum[B >: Char](implicit num: Numeric[B]): B

Суммирует элементы этой коллекции.

Примечание: не будет завершаться для коллекций бесконечного размера.

Параметры типа
B

тип результата оператора +.

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

неявный параметр, определяющий набор арифметических операций, который включает оператор +, используемый для формирования суммы.

Возвращает

сумма всех элементов этой коллекции относительно оператора + в num.

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

Источник
def tail: WrappedString

Остаток коллекции без первого элемента.

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

Источник
def tails: Iterator[WrappedString]

Итерируется по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения будут результатами последовательных применений tail.

Возвращает

итератор по всем хвостам этой итерируемой коллекции

Пример

List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

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

Источник
override def take(n: Int): WrappedString

Классы-предки IndexedSeqOps -> IterableOps -> IterableOnceOps
Унаследовано от IndexedSeqOps

Источник
override def takeRight(n: Int): WrappedString

Классы-предки IndexedSeqOps -> IterableOps
Унаследовано от IndexedSeqOps

Источник
def takeWhile(p: Char => Boolean): WrappedString

Возвращает самый длинный префикс элементов, удовлетворяющих предикату.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

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

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

Возвращает

наиболее длинный префикс этой итерируемой коллекции, элементы которой удовлетворяют предикату p.

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

Источник
override def tapEach[U](f: Char => U): WrappedString

Классы-предки IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Источник
def to[C1](factory: Factory[Char, C1]): C1

При заданном фабричном методе коллекции factory преобразуйте эту коллекцию в соответствующее представление для текущего типа элемента A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

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

Источник
def toArray[B >: Char : ClassTag]: Array[B]

Преобразовать коллекцию в массив.

Примечание к реализации: НЕ вызывайте Array.from из этого метода.

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

Источник@inline
final def toBuffer[B >: Char]: Buffer[B]

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

Источник
final override def toIndexedSeq: IndexedSeq[Char]

Классы-предки IndexedSeq -> IterableOnceOps
Унаследовано от IndexedSeq

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

Унаследовано от IterableOnceOps
END_OF_DOCUMENT_MARKER

Source
def toMap[K, V](implicit ev: Char <:< (K, V)): Map[K, V]

Inherited from IterableOnceOps

Source
final override def toSeq: WrappedString

Definition Classes Seq -> IterableOnceOps
Inherited from Seq

Source
def toSet[B >: Char]: Set[B]

Inherited from IterableOnceOps

Source
def toVector: Vector[Char]

Inherited from IterableOnceOps

Source
def transpose[B](implicit asIterable: Char => Iterable[B]): IndexedSeq[IndexedSeq[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.

Возвращает

двумерная итерируемая коллекция итерируемых коллекций, в которой n-я строка соответствует n-му столбцу этой итерируемой коллекции.

Исключения
IllegalArgumentException

если все коллекции в этой итерируемой коллекции не имеют одинаковый размер.

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

Source
def unapply(a: Int): Option[Char]

Попытка извлечь B из A в выражении сопоставления с образцом.

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

Source
def unzip[A1, A2](implicit asPair: Char => (A1, A2)): (IndexedSeq[A1], IndexedSeq[A2])

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

val xs = Iterable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
A1

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

A2

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

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

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

Возвращает

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

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

Source
def unzip3[A1, A2, A3](implicit asTriple: Char => (A1, A2, A3)): (IndexedSeq[A1], IndexedSeq[A2], IndexedSeq[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

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

Возвращает

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

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

Source
def updated[B >: Char](index: Int, elem: B): IndexedSeq[B]

Копия последовательности с одним заменённым элементом.

Параметры типа
B

тип элементов возвращаемой последовательности.

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

заменяющий элемент

index

позиция замены

Возвращает

новая последовательность, являющаяся копией этой последовательности с элементом в позиции index, заменённым на elem.

Исключения
IndexOutOfBoundsException

если index не удовлетворяет 0 <= index < length. В случае ленивой коллекции это исключение может быть выброшено позже или вообще не выброшено (если конец коллекции никогда не оценивается).

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

Source
def withFilter(p: Char => Boolean): WithFilter[Char, IndexedSeq]

Создаёт нестрогий фильтр этой итерируемой коллекции.

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

Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.

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

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

Возвращает

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

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

Source
def zip[B](that: IterableOnce[B]): IndexedSeq[(Char, B)]

Возвращает итерируемую коллекцию, сформированную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов в пары. Если одна из двух коллекций длиннее другой, её оставшиеся элементы игнорируются.

Параметры типа
B

тип второй половины возвращаемых пар

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

Итерируемая коллекция, предоставляющая вторую половину каждой результатной пары

Возвращает

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

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

Source
def zipAll[A1 >: Char, B](that: Iterable[B], thisElem: A1, thatElem: B): IndexedSeq[(A1, B)]

Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов парами. Если одна из двух коллекций короче другой, элементы-заполнители используются для расширения более короткой коллекции до длины более длинной.

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

итерируемый объект, предоставляющий вторую половину каждой пары результатов

thatElem

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

thisElem

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

Возвращает

новая коллекция типа That, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и that. Длина возвращаемой коллекции — максимальная из длин этой итерируемой коллекции и that. Если эта итерируемая коллекция короче that, значения thisElem используются для заполнения результата. Если that короче этой итерируемой коллекции, значения thatElem используются для заполнения результата.

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

Источник
def zipWithIndex: IndexedSeq[(Char, Int)]

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

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

Spec-Zone.ru

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