Spec-Zone.ru › Scala 3.1

Trait scala.NonEmptyTuple

Исходный код

sealed trait Непустой кортеж extends Кортеж

Кортеж произвольной ненулевой арности

Суперадресаты
trait Кортеж
trait Продукт
trait Equals
class Object
trait Сопоставимый
class Любой
Известные подтипы
class H *: T

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

Исходный код
inline def apply[This >: Непустой кортеж <: Непустой кортеж](n: Целое число): Элемент[This, n.type]

Получить i-й элемент этого кортежа. Эквивалентно productElement, но с точным типом возвращаемого значения.

Исходный код
inline def head[This >: Непустой кортеж <: Непустой кортеж]: Первый элемент[This]

Получить первый элемент этого кортежа

Исходный код@experimental
inline def init[This >: Непустой кортеж <: Непустой кортеж]: Начальная часть[This]

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

Исходный код@experimental
inline def last[This >: Непустой кортеж <: Непустой кортеж]: Последний элемент[This]

Получить последний элемент этого кортежа

Исходный код
inline def tail[This >: Непустой кортеж <: Непустой кортеж]: Хвост[This]

Получить хвост этого кортежа. Эта операция имеет сложность O(this.size)

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

Исходный код
inline def *:[H, This >: Непустой кортеж <: Кортеж](x: H): H *: This

Возвращает новый кортеж, добавив элемент в начало this кортежа. Эта операция имеет сложность O(this.size)

Наследованно из Кортеж

Исходный код
inline def ++[This >: Непустой кортеж <: Кортеж](that: Кортеж): Объединенный кортеж[This, that.type]

Возвращает новый кортеж, объединив this кортеж с that кортежем. Эта операция имеет сложность O(this.size + that.size)

Наследованно из Кортеж

Исходный код@experimental
inline def :*[This >: Непустой кортеж <: Кортеж, L](x: L): Добавленный элемент[This, L]

Возвращает копию this кортежа с добавленным элементом

Наследованно из Кортеж

Исходный код
def canEqual(that: Любой): Булево

Метод, который должен вызываться из каждого хорошо спроектированного метода equals, который может быть переопределен в подклассе. См. Programming in Scala, Chapter 28 для обсуждения и проектирования.

Параметры
that

значение, проверяемое на возможную равенство

Возвращает

true, если этот экземпляр может быть равен that, иначе false

Наследованно из Equals

Исходный код
inline def drop[This >: Непустой кортеж <: Кортеж](n: Целое число): Drop[This, n.type]

Для данного кортежа (a1, ..., am), возвращает кортеж (an+1, ..., am), содержащий все элементы, кроме первых n.

Наследованно из Кортеж

Исходный код
inline def map[F[_]](f: [t] => (x$1: t) => F[t]): Map[Непустой кортеж, F]

Вызванный на кортеже (a1, ..., an), возвращает новый кортеж (f(a1), ..., f(an)). Результат типизируется как (F[A1], ..., F[An]), если тип кортежа полностью известен. Если кортеж имеет вид a1 *: ... *: Tuple, то есть хвост не известен как тип конс.

Наследованно из Кортеж

Исходный код
def productArity: Целое число

Размер этого продукта.

Возвращает

для продукта A(x1, ..., xk), возвращает k

Наследованно из Продукт

Исходный код
def productElement(n: Целое число): Любой

n-й элемент этого продукта, нумерация с 0. Другими словами, для продукта A(x1, ..., xk), возвращает x(n+1), где 0 <= n < k.

Параметры
n

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

Возвращает

элемент n элементов после первого элемента

Исключения
IndexOutOfBoundsException

если n выходит за пределы диапазона(n < 0 || n >= productArity).

Наследованно из Продукт

Исходный код
def productElementName(n: Целое число): Строка

Имя n-го элемента этого продукта, нумерация с 0. В реализации по умолчанию пустая строка.

Параметры
n

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

Возвращает

имя указанного элемента

Исключения
IndexOutOfBoundsException

если n выходит за пределы диапазона(n < 0 || n >= productArity).

Наследованно из Продукт

Исходный код
def productElementNames: Итератор[Строка]

Итератор по именам всех элементов этого продукта.

Наследованно из Продукт

Исходный код
def productIterator: Итератор[Любой]

Итератор по всем элементам этого продукта.

Возвращает

в реализации по умолчанию, Iterator[Any]

Наследованно из Продукт

Исходный код
def productPrefix: Строка

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

Возвращает

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

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

Исходный код
inline def size[This >: NonEmptyTuple <: Tuple]: Size[This]

Возвращает размер (или арность) кортежа

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

Исходный код
inline def splitAt[This >: NonEmptyTuple <: Tuple](n: Int): (This, n.type)

Для данного кортежа (a1, ..., am), возвращает пару кортежей (a1, ..., an) — состоящий из первых n элементов, и кортежа (an+1, ..., am) — состоящего из оставшихся элементов.

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

Исходный код
inline def take[This >: NonEmptyTuple <: Tuple](n: Int): Take[This, n.type]

Для данного кортежа (a1, ..., am), возвращает кортеж (a1, ..., an), состоящий из первых n элементов.

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

Исходный код
inline def toArray: Array[Object]

Создаёт копию этого кортежа в виде массива

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

Исходный код
inline def toIArray: IArray[Object]

Создаёт копию этого кортежа в виде IArray

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

Исходный код
inline def toList: List[Union[NonEmptyTuple]]

Создаёт копию этого кортежа в виде списка

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

Исходный код
inline def zip[This >: NonEmptyTuple <: Tuple, T2 <: Tuple](t2: T2): Zip[This, T2]

Для двух кортежей, (a1, ..., an) и (a1, ..., an), возвращает кортеж ((a1, b1), ..., (an, bn)). Если у двух кортежей разный размер, дополнительные элементы большего кортежа будут проигнорированы. Результат типизируется как ((A1, B1), ..., (An, Bn)), если хотя бы один из типов кортежей имеет EmptyTuple хвост. В противном случае тип результата — (A1, B1) *: ... *: (Ai, Bi) *: Tuple.

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

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

Spec-Zone.ru

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