Spec-Zone.ru › Scala 3.2

Класс Source.Source

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

абстрактный класс Source extends Iterator[Char] с Closeable

Итерируемое представление исходных данных. Может быть сброшен с помощью необязательного метода reset.

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

Обработка ошибок может быть настраиваемой путём переопределения метода report.

Текущий вход ch и позиция pos, а также методы следующего символа next делегируют работу позиционеру.

По умолчанию позиционер кодирует номера строки и столбца в позиции, переданной в метод report. Это поведение может быть изменено путём предоставления пользовательского позиционера withPositioning.

Суперайпы
Трейт Closeable
Трейт AutoCloseable
Трейт Iterator[Char]
Трейт IterableOnceOps[Char, Iterator, Iterator[Char]]
Трейт IterableOnce[Char]
Класс Object
Трейт Matchable
Класс Any
Известные подтипы
Класс BufferedSource

Классы

Source
класс LineIterator extends AbstractIterator[String] с Iterator[String]

Source
объект NoPositioner extends Positioner

Source
класс Positioner(encoder: Position)

Source
объект RelaxedPosition

Реализация Position, которая игнорирует ошибки в позициях.

Source
объект RelaxedPositioner extends Positioner

Наследованные классы

Source
класс GroupedIterator[B >: A](self: Iterator[B], size: Int, step: Int) extends AbstractIterator[Seq[B]]

Гибкий итератор для преобразования Iterator[A] в Iterator[Seq[A]] с настраиваемым размером последовательности, шагом и стратегией обработки элементов, которые не помещаются равномерно.

Типичные использования могут быть достигнуты с помощью методов grouped и sliding.

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

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

Source
def ch: Char

Source
def close(): Unit

Метод close() закрывает базовый ресурс.

Source
def getLines(): Iterator[String]

Возвращает итератор, который возвращает строки (НЕ включая символы новой строки). Будет обрабатывать любой из \r\n, \r или \n как разделитель строк (самый длинный совпадение) - если вам нужно более сложное поведение, вы можете напрямую подклассировать Source#LineIterator.

Source
def hasNext: Boolean

Возвращает true если у этого источника есть ещё символы.

Source
def next(): Char

Возвращает следующий символ.

Source
def pos: Int

Source
def report(pos: Int, msg: String, out: PrintStream): Unit

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

Сообщение об ошибке для отчёта

out

PrintStream для использования

pos

Позиция источника (строка/столбец)

Source
def reportError(pos: Int, msg: String, out: PrintStream): Unit

Отправляет сообщение об ошибке в поток вывода out.

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

Сообщение об ошибке для отчёта

out

PrintStream для использования (необязательно: по умолчанию Console.err)

pos

Позиция источника (строка/столбец)

Source
def reportWarning(pos: Int, msg: String, out: PrintStream): Unit

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

Сообщение об ошибке для отчёта

out

PrintStream для использования (необязательно: по умолчанию Console.out)

pos

Позиция источника (строка/столбец)

Source
def reset(): Source

Метод reset() создаёт свежую копию этого источника Source.

Source
def withClose(f: () => Unit): Source.this.type

Source
def withDescription(text: String): Source.this.type

Source
def withPositioning(on: Boolean): Source.this.type

Изменить или отключить позиционер.

Source
def withPositioning(pos: Positioner): Source.this.type

Source
def withReset(f: () => Source): Source.this.type

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

Source
final def ++[B >: Char](xs: => IterableOnce[B]): Iterator[B]

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

Source
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

Source
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

Source
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

Source
def buffered: BufferedIterator[A]

Создаёт буферизованный итератор из этого итератора.

Возвращает

буферизованный итератор, генерирующий те же значения, что и этот итератор.

См. также

scala.collection.BufferedIterator

Примечание

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

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

Source
def collect[B](pf: PartialFunction[Char, B]): Iterator[B]

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

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

тип элемента возвращаемого итератора.

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

частичная функция, которая фильтрует и отображает итератор.

Возвращает

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

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

Source
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

Source
def concat[B >: Char](xs: => IterableOnce[B]): Iterator[B]

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

Source
def contains(elem: Any): Boolean

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

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

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

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

Возвращает

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

Примечание

Переиспользование: После вызова этого метода необходимо удалить вызвавший итератор. Его использование не определено и может быть изменено.

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

Source
def copyToArray[B >: Char](xs: Array[B], start: Int, len: Int): Int

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

Заполняет заданный массив xs начиная с индекса start не более чем len элементами этого набора.

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

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

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

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

максимальное количество копируемых элементов.

start

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

xs

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

Возвращает

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

Примечание

Переиспользование: После вызова этого метода необходимо удалить вызвавший итератор. Его использование не определено и может быть изменено.

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

Source
def copyToArray[B >: Char](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

Источник
def copyToArray[B >: Char](xs: Array[B]): Int

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

Источник
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

Источник
def count(p: Char => Boolean): Int

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

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

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

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

Возвращает

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

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

Источник
def distinct: Iterator[A]

Создаёт новый итератор из данного, без дублирующихся элементов.

Возвращает

итератор с уникальными элементами

Примечание

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

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

Источник
def distinctBy[B](f: Char => B): Iterator[A]

Создаёт новый итератор из данного, без дублирующихся элементов, определяемых по == после применения преобразования f.

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

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

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

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

Возвращает

итератор с уникальными элементами

Примечание

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

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

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

Возвращает все элементы, кроме первых n.

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

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

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

Возвращает

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

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

Источник
def dropWhile(p: Char => Boolean): Iterator[A]

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

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

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

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

Возвращает

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

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

Источник
def duplicate: (Iterator[A], Iterator[A])

Создаёт два новых итератора, которые итерируют по тем же элементам, что и этот итератор (в том же порядке). Дублирующие итераторы считаются равными, если они находятся на одном элементе.

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

Возвращает

пара итераторов

Примечание

Реализация может выделять временное хранилище для элементов, пройденных одним итератором, но ещё не пройденных другим.

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def filter(p: Char => Boolean): Iterator[A]

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

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

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

Возвращает

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

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

Source
def filterNot(p: Char => Boolean): Iterator[A]

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
def flatMap[B](f: Char => IterableOnce[B]): Iterator[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

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

Возвращает

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

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

Source
def flatten[B](implicit ev: Char => IterableOnce[B]): Iterator[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.

Возвращает

новый итератор, полученный путём конкатенации всех итераторов элементов.

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

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

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

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

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

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

параметр типа для бинарного оператора, надтипа A.

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

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

z

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

Возвращает

результат применения оператора слияния 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
def foldRight[B](z: B)(op: (Char, B) => B): B

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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 grouped[B >: Char](size: Int): GroupedIterator[B]

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

// Returns List(List(1, 2, 3), List(4, 5, 6), List(7)))
(1 to 7).iterator.grouped(3).toList
// Returns List(List(1, 2, 3), List(4, 5, 6))
(1 to 7).iterator.grouped(3).withPartial(false).toList
// Returns List(List(1, 2, 3), List(4, 5, 6), List(7, 20, 25)
// Illustrating that withPadding's argument is by-name.
val it2 = Iterator.iterate(20)(_ + 5)
(1 to 7).iterator.grouped(3).withPadding(it2.next).toList
Примечание

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

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

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

Возвращает индекс первого вхождения указанного объекта в этом итерируемом объекте после или на некотором начальном индексе.

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

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

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

from

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

Возвращает

индекс >= from первого вхождения elem в значениях, производимых этим итератором, или -1, если такой элемент не существует до тех пор, пока не будет достигнут конец итератора.

Примечание

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

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

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

Возвращает индекс первого вхождения указанного объекта в этом итерируемом объекте.

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

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

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

Возвращает

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

Примечание

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

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

Source
def indexWhere(p: Char => Boolean, from: Int): Int

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

Source
override def isEmpty: Boolean

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

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

Возвращает

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

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

Source
def isTraversableAgain: Boolean

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

Возвращает

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

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

Source
final def iterator: Iterator[A]

Итератор может быть использован только один раз

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

Source
def knownSize: Int

Возвращает

Количество элементов в этом наборе, если его можно легко вычислить, -1 в противном случае. Легко вычислить обычно означает: не требующее обхода набора.

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

Source
final def length: Int

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

Source
def map[B](f: Char => B): Iterator[B]

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

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

тип элемента возвращаемого итератора.

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

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

Возвращает

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

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

Source
def max[B >: Char](implicit ord: Ordering[B]): A

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Source
def maxBy[B](f: Char => B)(implicit cmp: Ordering[B]): A

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Source
def maxByOption[B](f: Char => B)(implicit cmp: Ordering[B]): Option[A]

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

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

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

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

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

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

f

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

Возвращает

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

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

Source
def maxOption[B >: Char](implicit ord: Ordering[B]): Option[A]

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

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

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

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

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

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

Возвращает

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

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

Source
def min[B >: Char](implicit ord: Ordering[B]): A

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

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

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

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

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

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

Возвращает

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

Выбрасывает
UnsupportedOperationException

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

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

Source
def minBy[B](f: Char => B)(implicit cmp: Ordering[B]): A

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

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

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

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

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

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

f

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

Возвращает

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

Выбрасывает
UnsupportedOperationException

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

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

Source
def minByOption[B](f: Char => B)(implicit cmp: Ordering[B]): Option[A]

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

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

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

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

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

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

f

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

Возвращает

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

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

Source
def minOption[B >: Char](implicit ord: Ordering[B]): Option[A]

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

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

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

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

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

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

Возвращает

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

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

Source
final def mkString: String

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

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

Возвращает

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

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

Source
final def mkString(sep: String): String

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

Делегирует вызов addString, который может быть переопределён.

Параметры
sep

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

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

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

Пример

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

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

Source
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

Source
def nextOption(): Option[A]

Оборачивает значение next() в объект Option.

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

Some(next) если следующий элемент существует, None в противном случае.

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

Source
def nonEmpty: Boolean

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

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

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

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

Source
def padTo[B >: Char](len: Int, elem: B): Iterator[B]

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

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

тип элементов возвращаемого итератора.

Параметры
elem

значение для заполнения

len

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

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

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

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

Source
def partition(p: Char => Boolean): (Iterator[A], Iterator[A])

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

Начальный индекс для вставки

patchElems

Итератор значений вставки

replaced

Количество значений в исходном итераторе, которые заменяются вставкой.

Примечание

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

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

Источник
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

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

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

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

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

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

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

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

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

Возвращает

значение типа Option, содержащее результат reduceLeft(op), если этот набор не пустой, None в противном случае.

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

значение типа Option, содержащее результат reduceRight(op) если этот набор не пустой, None в противном случае.

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

Source
protected def reversed: Iterable[A]

Inherited from IterableOnceOps

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

Проверяет, равны ли соответствующие элементы данного итерируемого набора (с точки зрения ==) элементам этого итератора.

Type parameters
B

тип элементов коллекции that.

Value parameters
that

сравниваемая коллекция

Returns

true если обе коллекции содержат равные элементы в том же порядке, false в противном случае. <invalid inheritdoc annotation>

Inherited from Iterator

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

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

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

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

Type parameters
B

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

Value parameters
op

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

z

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

Returns

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

Inherited from Iterator

Source
def size: Int

Размер этой коллекции.

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

Returns

количество элементов в этой коллекции.

Inherited from IterableOnceOps

Source
def slice(from: Int, until: Int): Iterator[A]

Выбирает интервал элементов. Возвращаемый итератор состоит из всех элементов x, которые удовлетворяют условию:

from <= indexOf(x) < until

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

Value parameters
from

наименьший индекс для включения из этого итератора.

until

наименьший индекс для исключения из этого итератора.

Returns

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

Inherited from Iterator

Source
def sliding[B >: Char](size: Int, step: Int): GroupedIterator[B]

Возвращает итератор, представляющий «скользящее окно» представления этого итератора. Первый аргумент — размер окна, а второй аргумент step — это то, насколько далеко нужно сместить окно на каждой итерации. Значение step по умолчанию — 1.

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

Примеры использования:

// Returns List(ArraySeq(1, 2, 3), ArraySeq(2, 3, 4), ArraySeq(3, 4, 5))
(1 to 5).iterator.sliding(3).toList
// Returns List(ArraySeq(1, 2, 3, 4), ArraySeq(4, 5))
(1 to 5).iterator.sliding(4, 3).toList
// Returns List(ArraySeq(1, 2, 3, 4))
(1 to 5).iterator.sliding(4, 3).withPartial(false).toList
// Returns List(ArraySeq(1, 2, 3, 4), ArraySeq(4, 5, 20, 25))
// Illustrating that withPadding's argument is by-name.
val it2 = Iterator.iterate(20)(_ + 5)
(1 to 5).iterator.sliding(4, 3).withPadding(it2.next).toList
Value parameters
size

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

step

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

Returns

A GroupedIterator возвращающий Seq[B] размером size, за исключением последнего элемента (который может быть единственным элементом), который будет усечён, если оставшихся элементов для группировки меньше size . Это поведение можно настроить.

Note

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

Inherited from Iterator

Source
def span(p: Char => Boolean): (Iterator[A], Iterator[A])

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

Примечание: c span p эквивалентно (но, возможно, более эффективно), чем (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.

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

Note

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

Inherited from Iterator

Source
def splitAt(n: Int): (C, C)

Разделяет эту коллекцию на пару префикс/суффикс в заданной позиции.

Примечание: c splitAt n эквивалентно (но, возможно, более эффективно), чем (c take n, c drop n).

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

Value parameters
n

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

Returns

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

Inherited from IterableOnceOps

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

Возвращает scala.collection.Stepper для элементов этой коллекции.

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

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

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

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

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

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

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

Inherited from IterableOnce

Source
def sum[B >: Char](implicit num: Numeric[B]): B

Суммирует элементы этой коллекции.

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

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

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

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

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

Возвращает

сумму всех элементов этого набора по отношению к оператору + в num.

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

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

Выбирает первые n элементов.

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

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

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

Возвращает

итератор, содержащий только первые n элементов этого итератора, или весь итератор, если он имеет меньше n элементов. Если n отрицательно, возвращает пустой итератор.

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

Источник
def takeWhile(p: Char => Boolean): Iterator[A]

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

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

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

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

Возвращает

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

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

Источник
override def tapEach[U](f: Char => U): Iterator[A]

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

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

тип возвращаемого значения f

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

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

Возвращает

тот же логический набор, что и этот

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

Источник
def to[C1](factory: Factory[Char, C1]): C1

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

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

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

Источник
def toArray[B >: Char : ClassTag]: Array[B]

Преобразование набора в массив.

Примечание для реализации: НЕ вызывайте Array.from из этого метода.

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

Источник
final def toBuffer[B >: Char]: Buffer[B]

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

Источник
def toIndexedSeq: IndexedSeq[A]

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

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

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

Источник
def toMap[K, V](implicit ev: Char <:< (K, V)): Map[K, V]

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

Источник
def toSeq: Seq[A]

Возвращает

Этот набор в виде Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

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

Источник
def toSet[B >: Char]: Set[B]

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

Источник
override def toString: String

Преобразует этот итератор в строку.

Возвращает

"<iterator>"

Примечание

Переиспользование: итератор остается действительным для дальнейшего использования, независимо от возвращаемого результата.

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

Источник
def toVector: Vector[A]

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

Источник
def withFilter(p: Char => Boolean): Iterator[A]

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

Примечание: withFilter то же самое, что и filter для итераторов. Он существует, чтобы выражения for с фильтрами работали над итераторами.

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

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

Возвращает

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

Примечание

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

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

Источник
def zip[B](that: IterableOnce[B]): Iterator[(A, B)]

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

Source
def zipAll[A1 >: Char, B](that: IterableOnce[B], thisElem: A1, thatElem: B): Iterator[(A1, B)]

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

Source
def zipWithIndex: Iterator[(A, Int)]

Объединяет этот итератор с его индексами.

Возвращает

Новый итератор, содержащий пары, состоящие из всех элементов этого итератора, сопоставленных с их индексом. Индексы начинаются с 0.

Пример

List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

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

Конкретные поля

Source
var descr: String

Описание этого источника, по умолчанию пустое

Source
var nerrors: Int

Source
var nwarnings: Int

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

Spec-Zone.ru

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