Класс scala.collection.immutable.Range
@SerialVersionUID(3L)
sealed abstract class Range(val start: Int, val end: Int, val step: Int) extends AbstractSeq[Int] with IndexedSeq[Int] with IndexedSeqOps[Int, IndexedSeq, IndexedSeq[Int]] with StrictOptimizedSeqOps[Int, IndexedSeq, IndexedSeq[Int]] with IterableFactoryDefaults[Int, IndexedSeq] with Serializable
Класс Range представляет целые значения в диапазоне [start;end) с ненулевым значением шага step. Это специальный случай индексированного последовательности. Например:
val r1 = 0 until 10 val r2 = r1.start until r1.end by r1.step + 1 println(r2.length) // = 5
Диапазоны, содержащие более Int.MaxValue элементов, могут быть созданы, но эти переполненные диапазоны имеют ограниченные возможности. Любой метод, который может потребовать создания коллекции длиной более Int.MaxValue элементов, или который может быть запрошен для индексирования элементов за пределами Int.MaxValue элементов, вызовет исключение. Переполненные диапазоны могут быть безопасно уменьшены в размере путем изменения размера шага (например, by 3) или взятия/удаления элементов. contains, equals, и доступ к концам диапазона (head, last, tail, init) также разрешены для переполненных диапазонов.
| Параметры значения |
|
|---|---|
| Надтипы | 27 типов |
| Известные подтипы | |
| Тип самого себя |
Абстрактные методы
Исходный код
def isInclusive: Boolean
Конкретные методы
Исходный код@throws(scala.throws.$lessinit$greater$default$1[scala.IndexOutOfBoundsException])
Исходный код
Создаёт новый диапазон с start и end значениями этого диапазона и новым step.
| Возвращает | новый диапазон с другим шагом |
|---|
Исходный код
Исходный код
| Определяющие классы | SeqOps |
|---|
Исходный код
| Определяющие классы | SeqOps |
|---|
Исходный код
Создаёт новый диапазон, содержащий все элементы этого диапазона, за исключением первых n элементов.
| Параметры значения |
|
|---|---|
| Возвращает | новый диапазон, состоящий из всех элементов этого диапазона, за исключением |
| Определяющие классы | IndexedSeqOps -> IterableOps -> IterableOnceOps |
Исходный код
Создаёт новый диапазон, состоящий из начальных length - n элементов диапазона.
Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).
| Определяющие классы | StrictOptimizedIterableOps -> IndexedSeqOps -> IterableOps |
|---|
Исходный код
| Определяющие классы | IterableOps -> IterableOnceOps |
|---|
Source
| Definition Classes | Seq -> Equals -> Any |
|---|
Source
| Definition Classes | IterableOnceOps |
|---|
Source
| Definition Classes | IterableOps |
|---|
Source
| Definition Classes | Seq -> Any |
|---|
Source
| Definition Classes | IndexedSeqOps -> IterableOps |
|---|
Source
Сделать диапазон включительно.
Source
| Definition Classes | SeqOps |
|---|
Source
Создаёт новый диапазон, содержащий все элементы этого диапазона, кроме последнего.
Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).
| Возвращает | новый диапазон, состоящий из всех элементов этого диапазона, кроме последнего. |
|---|---|
| Definition Classes | IterableOps |
Source
| Definition Classes | IterableOps |
|---|
Source
| Definition Classes | IndexedSeqOps -> IterableOnce |
|---|
Source
Последний элемент этого диапазона. Этот метод вернёт правильное значение, даже если элементов слишком много для итерации.
| Definition Classes | IndexedSeqOps -> IterableOps |
|---|
Source
| Definition Classes | SeqOps |
|---|
Source
Source
| Definition Classes | StrictOptimizedIterableOps -> IndexedSeqOps -> IterableOps -> IterableOnceOps |
|---|
Source
| Definition Classes | IterableOnceOps |
|---|
Source
| Definition Classes | IterableOnceOps |
|---|
Source
Возвращает обратный порядок этого диапазона.
| Definition Classes | IndexedSeqOps -> SeqOps |
|---|
Source
| Definition Classes | IndexedSeq -> SeqOps |
|---|
Source
Создаёт новый диапазон, содержащий элементы, начиная с from до, но не включая until.
Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).
| Параметры |
|
|---|---|
| Возвращает | новый диапазон, состоящий из непрерывного интервала значений в старом диапазоне |
| Definition Classes | IndexedSeqOps -> IndexedSeqOps -> IterableOps -> IterableOnceOps |
Source
| Definition Classes | StrictOptimizedSeqOps -> SeqOps |
|---|
Source
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|
Source
| Definition Classes | IterableOps -> IterableOnceOps |
|---|
Источник
final override def stepper[S <: Stepper[_]](implicit shape: StepperShape[Int, S]): S & EfficientSplit
| Классы-определения | IndexedSeqOps -> IterableOnce |
|---|
Источник
| Классы-определения | IterableOnceOps |
|---|
Источник
Создаёт новый диапазон, содержащий все элементы данного диапазона, кроме первого.
Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).
| Возвращаемое значение | новый диапазон, состоящий из всех элементов данного диапазона, кроме первого. |
|---|---|
| Классы-определения | IterableOps |
Источник
| Классы-определения | IterableOps |
|---|
Источник
Создаёт новый диапазон, содержащий первые n элементы этого диапазона.
| Параметры |
|
|---|---|
| Возвращаемое значение | новый диапазон, состоящий из |
| Классы-определения | IndexedSeqOps -> IterableOps -> IterableOnceOps |
Источник
Создаёт новый диапазон, состоящий из последних n элементов диапазона.
Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).
| Классы-определения | StrictOptimizedIterableOps -> IndexedSeqOps -> IterableOps |
|---|
Источник
| Классы-определения | IterableOps -> IterableOnceOps |
|---|
Источник
| Классы-определения | Seq -> Function1 -> Iterable -> Any |
|---|
Наследованные методы
Источник@inline
Псевдоним для concat
| Наследуется из | IterableOps |
|---|
Источник@inline
Псевдоним для prependedAll
| Классы-определения | SeqOps -> IterableOps |
|---|---|
| Наследуется из | SeqOps |
Источник@inline
Псевдоним для prepended.
Обратите внимание, что операторы, оканчивающиеся на двоеточие, ассоциативны справа (см. пример). Мемоническое правило для +: против :+: двоеточие ставится со стороны коллекции.
| Наследуется из | SeqOps |
|---|
Источник@inline
Псевдоним для appended.
Обратите внимание, что операторы, оканчивающиеся на двоеточие, ассоциативны справа (см. пример). Мемоническое правило для +: против :+: двоеточие ставится со стороны коллекции.
| Наследуется из | SeqOps |
|---|
Источник@inline
Псевдоним для appendedAll
| Наследуется из | SeqOps |
|---|
Источник@inline
Добавляет все элементы этой коллекции в строковый билдер. Записываемый текст состоит из строковых представлений (относительно метода 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
| Параметры |
|
|---|---|
| Возвращаемое значение | строковый билдер |
| Наследуется из | IterableOnceOps |
Источник@inline
Добавляет все элементы этой коллекции в строковый билдер с использованием разделительной строки. Записываемый текст состоит из строковых представлений (относительно метода 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
| Параметры |
|
|---|---|
| Возвращаемое значение | строковый билдер |
| Наследуется из | IterableOnceOps |
Источник
Добавляет все элементы этой коллекции в строковый билдер с использованием начальной, конечной и разделительных строк. Записываемый текст начинается со строки 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)
| Параметры значения |
|
|---|---|
| Возвращает | строка-построитель |
| Унаследовано от | IterableOnceOps |
Источник
Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.
Обратите внимание, что вызов isDefinedAt для результирующей частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется вызывать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Источник
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип функции в момент выполнения является PartialFunction, то используется другой метод andThen (обратите внимание на его предупреждения).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, возможно, суженной указанной функцией, которая отображает аргументы |
| Классы определения | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Источник
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Унаследовано от | StrictOptimizedSeqOps |
Источник
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Применяет эту частичную функцию к заданному аргументу, когда он находится в области определения функции. Применяет функцию по умолчанию, когда эта частичная функция не определена.
Обратите внимание, что выражение 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 . Это может привести к лучшей производительности и более предсказуемому поведению относительно побочных эффектов.
| Параметры значения |
|
|---|---|
| Возвращает | результат применения этой функции или функции по умолчанию. |
| Унаследовано от | PartialFunction |
Источник
| Классы определения | IndexedSeq -> Seq -> Equals |
|---|---|
| Унаследовано от | IndexedSeq |
Источник
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее pf, применённое к первому значению, для которого оно определено, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Итерирует по комбинациям. _Комбинация_ длины n — это подпоследовательность исходной последовательности, элементы которой взяты в порядке. Таким образом, "xy" и "yy" — обе комбинации длины 2 из "xyy", но "yx" — нет. Если существует более одного способа сгенерировать ту же подпоследовательность, будет возвращён только один.
Например, "xyyy" имеет три разных способа сгенерировать "xy" в зависимости от того, какой первый, второй или третий элемент "y" выбран. Однако, поскольку все они идентичны, будет выбран только один. Какой из трёх будет выбран, является деталью реализации и не определён.
Примечание: даже при применении к представлению или ленивой коллекции все элементы будут принудительно вычислены.
| Возвращает | Итератор, проходящий по возможным комбинациям элементов длины n этой последовательности. |
|---|---|
| Пример |
|
| Унаследовано от | SeqOps |
Источник
Создаёт другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt у полученной частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Источник@unspecialized
Компонует две экземпляры Function1 в новую Function1, при этом эта функция применяется последней.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Источник@inline
| Классы определения | SeqOps -> IterableOps |
|---|---|
| Унаследовано от | SeqOps |
Источник
Проверяет, содержит ли эта последовательность заданную последовательность как срез.
Примечание: может не завершиться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекращается, когда либо все элементы этой коллекции скопированы, либо достигнут конец массива, либо len элементов скопированы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Повторное использование: после вызова этого метода итератор, на котором он был вызван, следует удалить. Использование его не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Копирование элементов в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование остановится, как только будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода необходимо отбросить итератор, на котором он был вызван. Использование его неопределенно и может измениться. |
| Унаследовано от | IterableOnceOps |
Source@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Копирование элементов в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование остановится, как только будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода необходимо отбросить итератор, на котором он был вызван. Использование его неопределенно и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя предикат.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Source
Проверяет, соответствует ли каждый элемент этой последовательности соответствующему элементу другой последовательности, удовлетворяя предикат.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает |
|
| Унаследовано от | SeqOps |
Source
Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Source
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Унаследовано от | StrictOptimizedSeqOps |
Source
| Классы определения | StrictOptimizedSeqOps -> StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Унаследовано от | StrictOptimizedSeqOps |
Source
Возвращает объект-экстрактор с методом 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
| Классы определения | IterableFactoryDefaults -> IterableOps |
|---|---|
| Унаследовано от | IterableFactoryDefaults |
Source
Проверяет, заканчивается ли эта последовательность заданной последовательностью.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Source
Проверяет, выполняется ли предикат хотя бы для одного элемента этой коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Source
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
Находит первый элемент коллекции, удовлетворяющий предикату, если такой есть.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее первый элемент в коллекции, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Source
Находит последний элемент последовательности, удовлетворяющий предикату, если такой есть.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее последний элемент в последовательности, удовлетворяющий |
| Унаследовано от | SeqOps |
Source
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
Складывает элементы этой коллекции, используя указанный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора сворачивания |
| Унаследовано от | IterableOnceOps |
Источник
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции, слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
| Классы-родители | IndexedSeqOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IndexedSeqOps |
Источник
Проверяет, выполняется ли предикат для всех элементов этой коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
| Унаследовано от | IterableFactoryDefaults |
|---|
Источник
Разбивает эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Карта от ключей к итерируемым коллекциям, которая удовлетворяет следующему инварианту: (xs groupBy f)(k) = xs filter (x => f(x) == k) То есть, каждый ключ |
| Унаследовано от | IterableOps |
Источник
Разбивает эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором 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)
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Унаследовано от | IterableOps |
Источник
Разбивает эту итерируемую коллекцию на карту в соответствии с функцией-дискриминатором key. Все значения, имеющие одинаковый дискриминатор, затем преобразуются с помощью функции f и затем сводятся к одному значению с помощью функции reduce.
Эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.
def occurrences[A](as: Seq[A]): Map[A, Int] = as.groupMapReduce(identity)(_ => 1)(_ + _)
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Унаследовано от | IterableOps |
|---|
Источник
| Классы-родители | IndexedSeqOps -> IterableOps |
|---|---|
| Унаследовано от | IndexedSeqOps |
Источник@deprecatedOverriding("Override indexOf(elem, from) instead - indexOf(elem) calls indexOf(elem, 0)", "2.13.0")
Находит индекс первого вхождения некоторого значения в эту последовательность.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник@deprecatedOverriding("Override indexOfSlice(that, from) instead - indexOfSlice(that) calls indexOfSlice(that, 0)", "2.13.0")
Находит первый индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Source
Находит первый индекс после или на стартовом индексе, где эта последовательность содержит заданную последовательность в качестве слайса.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследованно от | SeqOps |
Source@deprecatedOverriding("Override indexWhere(p, from) instead - indexWhere(p) calls indexWhere(p, 0)", "2.13.0")
Находит индекс первого элемента, удовлетворяющего некоторому предикату.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследованно от | SeqOps |
Source
Находит индекс первого элемента, удовлетворяющего некоторому предикату после или на определённом стартовом индексе.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследованно от | SeqOps |
Source
Создаёт диапазон всех индексов этой последовательности.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут форсироваться.
| Возвращает | значение |
|---|---|
| Унаследованно от | SeqOps |
Source
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Унаследованно от | StrictOptimizedSeqOps |
Source
Проверяет, содержит ли эта последовательность заданный индекс.
Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследованно от | SeqOps |
Source
override def isTraversableAgain: Boolean
| Классы определения | IterableOps -> IterableOnceOps |
|---|---|
| Унаследованно от | IterableOps |
Source
| Классы определения | IndexedSeq -> IndexedSeq -> Seq -> Seq -> Iterable -> Iterable -> IterableOps |
|---|---|
| Унаследованно от | IndexedSeq |
Source
| Классы определения | IndexedSeqOps -> IterableOnce |
|---|---|
| Унаследованно от | IndexedSeqOps |
Source@deprecatedOverriding("Override lastIndexOfSlice(that, end) instead - lastIndexOfSlice(that) calls lastIndexOfSlice(that, Int.MaxValue)", "2.13.0")
Находит последний индекс, где эта последовательность содержит заданную последовательность в качестве слайса.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс, такой что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности |
| Унаследованно от | SeqOps |
Source
Находит последний индекс до или на заданном конечном индексе, где эта последовательность содержит заданную последовательность в качестве слайса.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс |
| Унаследованно от | SeqOps |
Source@deprecatedOverriding("Override lastIndexWhere(p, end) instead - lastIndexWhere(p) calls lastIndexWhere(p, Int.MaxValue)", "2.13.0")
Находит индекс последнего элемента, удовлетворяющего некоторому предикату.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс последнего элемента этой последовательности, удовлетворяющего предикату |
| Унаследованно от | SeqOps |
Source
Находит индекс последнего элемента, удовлетворяющего некоторому предикату до или на заданном конечном индексе.
Примечание: не завершится для коллекций бесконечного размера.
END_OF_DOCUMENT_MARKER| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Исходный код
Возвращает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Возвращает | последний элемент этой итерируемой коллекции$ при условии её непустоты, |
|---|---|
| Унаследовано от | IterableOps |
Исходный код
Аналогично 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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | декоратор |
| Унаследовано от | Iterable |
Исходный код
| Определяющие классы | IndexedSeqOps -> SeqOps |
|---|---|
| Унаследовано от | IndexedSeqOps |
Исходный код
| Определяющие классы | 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 |
|---|
Исходный код
Преобразует данную частичную функцию в обычную функцию, возвращающую Option результат.
| Возвращает | функцию, которая принимает аргумент |
|---|---|
| См. также | Function.unlift |
| Унаследовано от | PartialFunction |
Исходный код
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не завершится для бесконечных наборов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этого набора с наибольшим значением, измеренным функцией f с учётом упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не завершится для бесконечных наборов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее первый элемент этого набора с наибольшим значением, измеренным функцией f с учётом упорядочения |
| Унаследовано от | IterableOnceOps |
Исходный код
Находит наибольший элемент.
Примечание: не завершится для бесконечных наборов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее наибольший элемент этого набора относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Исходный код
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
Примечание: не завершится для бесконечных наборов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этого набора с наименьшим значением, измеренным функцией f с учётом упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
Примечание: не завершится для бесконечных наборов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее наименьший элемент этого набора относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник@inline
Отображает все элементы этого набора в строке.
Делегирует addString, который можно переопределить.
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник@inline
Отображает все элементы этого набора в строке с использованием разделительной строки.
Делегирует addString, который можно переопределить.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строке с использованием начальной, конечной и разделительных строк.
Делегирует addString, который можно переопределить.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этого набора. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
| Унаследовано от | IterableFactoryDefaults |
|---|
Источник@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
Проверяет, не пуст ли набор.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Компонует эту частичную функцию с частичной функцией-заменой, которая применяется там, где эта частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, область определения которой представляет собой объединение областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Источник
| Классы-предки | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Унаследовано от | StrictOptimizedSeqOps |
Источник
| Классы-предки | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
| Классы-предки | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
| Классы-предки | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Итерация по различным перестановкам.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | Итератор, который проходит по различным перестановкам этой последовательности. |
|---|---|
| Пример |
|
| Унаследовано от | SeqOps |
Исходный код
| Классы-предки | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Унаследовано от | StrictOptimizedSeqOps |
Исходный код
| Классы-предки | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Унаследовано от | StrictOptimizedSeqOps |
Исходный код
Перемножает элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции по отношению к оператору |
| Унаследовано от | IterableOnceOps |
Исходный код
Сводит элементы этой коллекции с помощью указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
При необходимости применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
Сокращает элементы этой коллекции, если таковые имеются, с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть недетерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Значение типа Option, содержащее результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Источник
Применяет бинарный оператор ко всем элементам этой коллекции, идя справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Необязательно применяет бинарный оператор ко всем элементам этой коллекции, идя справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
| Классы-предки | IndexedSeqOps -> SeqOps |
|---|---|
| Унаследовано от | IndexedSeqOps |
Source
| Definition Classes | IndexedSeqOps -> IterableOnceOps |
|---|---|
| Inherited from | IndexedSeqOps |
Source
Составляет данную частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; её результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
кроме того, что runWith реализовано через applyOrElse и, следовательно, потенциально более эффективно. Использование runWith позволяет избежать двойной оценки обработчиков шаблонов и условий для литералов частичных функций.
| Value parameters |
|
|---|---|
| Returns | функция, которая отображает аргументы |
| See also |
|
| Inherited from | PartialFunction |
Source
Вычисляет префиксную сканирование элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции |
| Inherited from | IterableOps |
Source
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головка коллекции — это последний кумулятивный результат.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
Примечание: даже при применении к представлению или ленивой коллекции он всегда будет принуждать элементы.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | коллекция с промежуточными результатами |
| Inherited from | IterableOps |
Source
| Definition Classes | IndexedSeqOps -> SeqOps |
|---|---|
| Inherited from | IndexedSeqOps |
Source
| Definition Classes | IndexedSeqOps -> SeqOps |
|---|---|
| Inherited from | IndexedSeqOps |
Source
Вычисляет длину самой длинной последовательности, которая начинается с некоторого индекса и все элементы которой удовлетворяют некоторому предикату.
Примечание: может не завершиться для коллекций бесконечного размера.
| Value parameters |
|
|---|---|
| Returns | длина самой длинной последовательности этой последовательности, начинающейся с индекса |
| Inherited from | SeqOps |
Source
Вычисляет длину самой длинной последовательности, которая начинается с первого элемента и все элементы которой удовлетворяют некоторому предикату.
Примечание: может не завершиться для коллекций бесконечного размера.
| Value parameters |
|
|---|---|
| Returns | длина самой длинной последовательности этой последовательности, начинающейся с первого элемента таким образом, чтобы каждый элемент последовательности удовлетворял предикату |
| Inherited from | SeqOps |
Source
| Definition Classes | SeqOps -> IterableOnceOps |
|---|---|
| Inherited from | SeqOps |
Source
| Definition Classes | SeqOps -> IterableOps |
|---|---|
| Inherited from | SeqOps |
Source
| Definition Classes | SeqOps -> IterableOps |
|---|---|
| Inherited from | SeqOps |
Source@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
| Inherited from | IterableOps |
|---|
Source
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» по ним (в отличие от разбиения, как в grouped.)
Возвращаемый итератор будет пустым при вызове на пустом наборе. Последний элемент, который итератор производит, может быть меньше размера окна, если исходный набор не исчерпан окном до его окончания и его последний элемент не пропущен шагом перед ним.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» по ним (в отличие от разбиения, как в grouped.)
Пустой набор возвращает пустой итератор, а непустой набор, содержащий меньше элементов, чем размер окна, возвращает итератор, который будет производить исходный набор как единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Сортирует этот набор по порядку, который получается из преобразования неявно заданного порядка с помощью функции преобразования.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: Даже при применении к представлению или ленивому набору он всегда принудительно загружает элементы.
Сортировка устойчивая. То есть элементы, которые равны (как определено ord.compare), появляются в отсортированном наборе в том же порядке, что и в исходном.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | последовательность, состоящая из элементов этого набора, отсортированных в соответствии с порядком, где |
| См. также | |
| Пример |
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 |
Source
Сортирует этот набор согласно функции сравнения.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: Даже при применении к представлению или ленивому набору он всегда принудительно загружает элементы.
Сортировка устойчивая. То есть элементы, которые равны (как определено lt), появляются в отсортированном наборе в том же порядке, что и в исходном.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, состоящая из элементов этого набора, отсортированных в соответствии с функцией сравнения |
| Пример |
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
|
| Унаследовано от | SeqOps |
Source
Проверяет, содержит ли эта последовательность заданную последовательность в заданном индексе.
Примечание: если и получаемый объект this и аргумент that являются бесконечными последовательностями, этот метод может не завершиться.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Принимая во внимание фабрику коллекций factory, преобразуйте эту коллекцию в соответствующее представление для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Источник
Преобразовать коллекцию в массив.
Примечание к реализации: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Источник@inline
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Классы определений | IndexedSeq -> IterableOnceOps |
|---|---|
| Унаследовано от | IndexedSeq |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Наследуется от | IterableOnceOps |
|---|
Источник
| Определяющие классы | Seq -> IterableOnceOps |
|---|---|
| Наследуется от | Seq |
Источник
| Наследуется от | IterableOnceOps |
|---|
Источник
| Наследуется от | IterableOnceOps |
|---|
Источник
def transpose[B](implicit asIterable: Int => Iterable[B]): Индексированный массив[Индексированный массив[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))
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут форсироваться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | двумерная итерируемая коллекция итерируемых коллекций, в которой n-я строка является n-м столбцом этой итерируемой коллекции. |
| Исключения |
|
| Наследуется от | IterableOps |
Источник
Попытка извлечь B из A в выражении сопоставления с образцом.
| Наследуется от | PartialFunction |
|---|
Источник
override def unzip[A1, A2](implicit asPair: Int => (A1, A2)): (Индексированный массив[A1], Индексированный массив[A2])
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Наследуется от | StrictOptimizedIterableOps |
Источник
override def unzip3[A1, A2, A3](implicit asTriple: Int => (A1, A2, A3)): (Индексированный массив[A1], Индексированный массив[A2], Индексированный массив[A3])
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Наследуется от | StrictOptimizedIterableOps |
Источник
| Определяющие классы | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Наследуется от | StrictOptimizedSeqOps |
Источник
| Определяющие классы | IndexedSeqOps -> SeqOps -> IterableOps |
|---|---|
| Наследуется от | IndexedSeqOps |
Источник
Создаёт нестрогий фильтр этой итерируемой коллекции.
Примечание: различие между c filter p и c withFilter p заключается в том, что первый создаёт новую коллекцию, а второй только ограничивает область применения последующих map, flatMap, foreach, и withFilter операций.
Примечание: могут быть получены разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | объект класса |
| Наследуется от | IterableOps |
Источник
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Наследуется от | StrictOptimizedIterableOps |
Источник
def zipAll[A1 >: Int, B](that: Iterable[B], thisElem: A1, thatElem: B): Индексированный массив[(A1, B)]
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов в пары. Если одна из двух коллекций короче другой, для расширения более короткой коллекции до длины более длинной используются элементы-заполнители.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | новая коллекция типа |
| Наследуется от | IterableOps |
Источник
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Наследуется от | StrictOptimizedIterableOps |
Конкретные поля
Источник
Source
Source
Source
© 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/Range.html