Spec-Zone.ru › Scala 3.1

Тракт scala.Tuple

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

sealed trait Tuple extends Product

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

Супертипы
Тракт Product
Тракт Equals
Класс Object
Тракт Matchable
Класс Any
Известные подтипы
Объект EmptyTuple.type
Тракт NonEmptyTuple
Класс H *: T

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

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

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

Исходный код
inline def ++[This >: Tuple <: Tuple](that: Tuple): Concat[This, that.type]

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

Исходный код@experimental
inline def :*[This >: Tuple <: Tuple, L](x: L): Append[This, L]

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

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

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

Исходный код
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-тип.

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

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

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

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

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

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

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

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

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

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

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

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

Исходный код
inline def zip[This >: Tuple <: 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

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

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

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

Параметры
that

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

Возвращает

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

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

Исходный код
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

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

Spec-Zone.ru

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