Spec-Zone.ru › Scala 3.2

Trait NonEmptyTuple.NonEmptyTuple

Исходный код

sealed trait NonEmptyTuple extends Tuple

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

Суперобъекты
trait Tuple
trait Product
trait Equals
class Object
trait Matchable
class Any
Известные подтипы
class H *: T

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

Исходник
inline def apply[This >: NonEmptyTuple <: NonEmptyTuple](n: Int): Elem[This, Int]

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

Исходник
inline def head[This >: NonEmptyTuple <: NonEmptyTuple]: Head[This]

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

Исходник
inline def init[This >: NonEmptyTuple <: NonEmptyTuple]: Init[This]

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

Исходник
inline def last[This >: NonEmptyTuple <: NonEmptyTuple]: Last[This]

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

Исходник
inline def tail[This >: NonEmptyTuple <: NonEmptyTuple]: Tail[This]

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

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

Исходник
inline def *:[H, This >: NonEmptyTuple <: Tuple](x: H): H *: This

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

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

Исходник
inline def ++[This >: NonEmptyTuple <: Tuple](that: Tuple): Concat[This, Tuple]

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

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

Исходник
inline def :*[This >: NonEmptyTuple <: Tuple, L](x: L): Append[This, L]

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

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

Исходник
def canEqual(that: Any): Boolean

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

Параметры
that

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

Возвращает

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

Наследованно от Equals

Исходник
inline def drop[This >: NonEmptyTuple <: Tuple](n: Int): Drop[This, Int]

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

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

Исходник
inline def map[F[_]](f: [t] => (x$1: t) => F[t]): Map[Tuple, F]

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

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

Исходник
def productArity: Int

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

Возвращает

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

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

Исходник
def productElement(n: Int): Any

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

Параметры
n

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

Возвращает

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

Исключения
IndexOutOfBoundsException

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

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

Исходник
def productElementName(n: Int): String

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

Параметры
n

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

Возвращает

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

Исключения
IndexOutOfBoundsException

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

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

Исходник
def productElementNames: Iterator[String]

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

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

Исходник
def productIterator: Iterator[Any]

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

Возвращает

в стандартной реализации, Iterator[Any]

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

Исходник
def productPrefix: String

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

Возвращает

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

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

Источник
inline def size[This >: NonEmptyTuple <: Tuple]: Size[This]

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

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

Источник
inline def splitAt[This >: NonEmptyTuple <: Tuple](n: Int): (This, Int)

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

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

Источник
inline def take[This >: NonEmptyTuple <: Tuple](n: Int): Take[This, Int]

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

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

Источник
inline def toArray: Array[Object]

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

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

Источник
inline def toIArray: IArray[Object]

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

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

Источник
inline def toList: List[Union[Tuple]]

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

Унаследовано от 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.2.0/scala/NonEmptyTuple.html

Spec-Zone.ru

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