Spec-Zone.ru › Scala 3.1

Класс scala.io.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@nowarn("cat=deprecation")
класс Positioner(encoder: Position)

Source@nowarn("cat=deprecation")
объект 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

Source
def withDescription(text: String): Source

Source
def withPositioning(on: Boolean): Source

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

Source
def withPositioning(pos: Positioner): Source

Source
def withReset(f: () => Source): Source

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

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

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

Источник@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 buffered: BufferedIterator[Char]

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

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

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

См. также

scala.collection.BufferedIterator

Примечание

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

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

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

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

Источник
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 concat[B >: Char](xs: => IterableOnce[B]): Iterator[B]

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

Источник
def contains(elem: Any): Boolean

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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], start: Int): Int

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

Источник@deprecatedOverriding("Это всегда должно перенаправляться на версию этого метода с 3 аргументами", since = "2.13.4")
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[Char]

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Источник
def find(p: Char => Boolean): Option[Char]

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

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

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

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

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

Возвращает

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

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

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

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

Источник
def flatten[B](implicit ev: Char => IterableOnce[B]): Iterator[B]

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

Источник
def fold[A1 >: Char](z: A1)(op: (A1, A1) => A1): A1

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def foreach[U](f: Char => U): Unit

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

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

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

Источник
def indexOf[B >: Char](elem: B, from: Int): Int

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

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

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

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

from

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

Source@deprecatedOverriding("isEmpty is defined as !hasNext; override hasNext instead", "2.13.0")
override def isEmpty: Boolean

Definition Classes Iterator -> IterableOnceOps
Inherited from Iterator

Source
def isTraversableAgain: Boolean

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

Returns

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

Inherited from IterableOnceOps

Source@inline
final def iterator: Iterator[Char]

Inherited from Iterator

Source
def knownSize: Int

Returns

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

Inherited from IterableOnce

Source@inline
final def length: Int

Inherited from Iterator

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

Inherited from Iterator

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

Находит максимальный элемент.

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

Type parameters
B

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

Value parameters
ord

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

Returns

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

Throws
UnsupportedOperationException

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

Inherited from IterableOnceOps

Source
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

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

Возвращает

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

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

Источник
def minOption[B >: Char](implicit ord: Ordering[B]): Option[Char]

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

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

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

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

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

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

Возвращает

значение типа Option, содержащее наименьший элемент этого набора относительно порядка 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

Источник
def nextOption(): Option[Char]

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

Возвращает

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

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

Источник@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

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

Возвращает

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

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

Источник
def padTo[B >: Char](len: Int, elem: B): Iterator[B]

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

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

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

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

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

len

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

Возвращает

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

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

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

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

Параметры значений
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

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

Возвращает

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

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

Источник
protected def reversed: Iterable[Char]

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Источник
def size: Int

Размер этого набора.

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

Возвращает

количество элементов в этом наборе.

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

Source
def slice(from: Int, until: Int): Iterator[Символ]

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

Source
def sliding[B >: Символ](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
Параметры значения
size

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

step

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

Возвращает

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

Примечание

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

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

Source
def span(p: Символ => Boolean): (Iterator[Символ], Iterator[Символ])

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

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

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

Примечание

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

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

Source
def splitAt(n: Int): (Iterator[Символ], Iterator[Символ])

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

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

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

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

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

Возвращает

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

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

Source
def stepper[S <: Stepper[_]](implicit shape: StepperShape[Символ, 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. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.

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

Source
def sum[B >: Символ](implicit num: Numeric[B]): B

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

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

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

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

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

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

Возвращает

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

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

Source
def take(n: Int): Iterator[Символ]

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

Source
def takeWhile(p: Символ => Boolean): Iterator[Символ]

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

Source
override def tapEach[U](f: Символ => U): Iterator[Символ]

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

Source
def to[C1](factory: Factory[Символ, C1]): C1

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

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

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

Source
def toArray[B >: Символ : ClassTag]: Массив[B]

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

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

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

Source@inline
final def toBuffer[B >: Символ]: Буфер[B]

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

Источник
def toIndexedSeq: IndexedSeq[Символ]

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

Источник
def toList: Список[Символ]

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

Источник
def toMap[K, V](implicit ev: Символ <:< (K, V)): Карта[K, V]

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

Источник
def toSeq: Последовательность[Символ]

Возвращает

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

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

Источник
def toSet[B >: Символ]: Множество[B]

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

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

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

Возвращает

"<iterator>"

Примечание

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

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

Источник
def toVector: Вектор[Символ]

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

Источник
def withFilter(p: Символ => Boolean): Iterator[Символ]

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

Источник
def zipAll[A1 >: Символ, B](that: IterableOnce[B], thisElem: A1, thatElem: B): Iterator[(A1, B)]

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

Источник
def zipWithIndex: Iterator[(Символ, Целое число)]

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

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

Источник
var descr: Строка

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

Источник
var nerrors: Целое число

Источник
var nwarnings: Целое число

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

Spec-Zone.ru

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