Spec-Zone.ru › Scala 3.1

Класс scala.Tuple8

Исходный код

final case class Tuple8[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8](_1: T1, _2: T2, _3: T3, _4: T4, _5: T5, _6: T6, _7: T7, _8: T8) extends Product8[T1, T2, T3, T4, T5, T6, T7, T8]

Кортеж из 8 элементов; каноническое представление scala.Product8.

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

Элемент 1 этого Tuple8

_2

Элемент 2 этого Tuple8

_3

Элемент 3 этого Tuple8

_4

Элемент 4 этого Tuple8

_5

Элемент 5 этого Tuple8

_6

Элемент 6 этого Tuple8

_7

Элемент 7 этого Tuple8

_8

Элемент 8 этого Tuple8

Конструктор

Создаёт новый кортеж с 8 элементами. Обратите внимание, что более подходящим способом создания Tuple8 является (t1, t2, t3, t4, t5, t6, t7, t8)

Наследуемые типы
интерфейс Serializable
интерфейс Product8[T1, T2, T3, T4, T5, T6, T7, T8]
класс T1 *: T2 *: T3 *: T4 *: T5 *: T6 *: T7 *: T8 *: EmptyTuple.type
интерфейс NonEmptyTuple
интерфейс Tuple
интерфейс Product
интерфейс Equals
класс Object
интерфейс Matchable
класс Any

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

Исходный код
override def toString(): String

Классы-определения Any

Наследуемые методы

Исходный код
inline def *:[H, This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: Tuple](x: H): H *: This

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

Наследуется из Tuple

Исходный код
inline def ++[This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: Tuple](that: Tuple): Concat[This, that.type]

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

Наследуется из Tuple

Исходный код@experimental
inline def :*[This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: Tuple, L](x: L): Append[This, L]

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

Наследуется из Tuple

Исходный код
inline def apply[This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: NonEmptyTuple](n: Int): Elem[This, n.type]

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

Наследуется из NonEmptyTuple

Исходный код
inline def drop[This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: Tuple](n: Int): Drop[This, n.type]

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

Наследуется из Tuple

Исходный код
inline def head[This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: NonEmptyTuple]: Head[This]

Возвращает первый элемент кортежа

Наследуется из NonEmptyTuple

Исходный код@experimental
inline def init[This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: NonEmptyTuple]: Init[This]

Возвращает часть кортежа без последнего элемента

Наследуется из NonEmptyTuple

Исходный код@experimental
inline def last[This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: NonEmptyTuple]: Last[This]

Возвращает последний элемент кортежа

Наследуется из NonEmptyTuple

Исходный код
inline def map[F[_]](f: [t] => (x$1: t) => F[t]): Map[(T1, T2, T3, T4, T5, T6, T7, T8), F]

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

Наследуется из Tuple

Исходный код
override def productArity: Int

Арность этого продукта.

Возвращает

8

Классы-определения Product8 -> Product
Наследуется из Product8

Исходный код@throws(scala.Predef.classOf[scala.IndexOutOfBoundsException])
override def productElement(n: Int): Any

Возвращает n-ую проекцию этого продукта, если 0 <= n < productArity, в противном случае выбрасывает IndexOutOfBoundsException.

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

номер проекции, которая должна быть возвращена

Возвращает

то же самое, что и ._(n+1), например, productElement(0) равно ._1.

Исключения
IndexOutOfBoundsException

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

Классы-определения Product8 -> Product
Наследуется из Product8

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

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

Наследуется из Product

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

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

Возвращает

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

Наследуется из Product

Исходный код
inline def size[This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: Tuple]: Size[This]

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

Наследуется из Tuple

Source
inline def splitAt[This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: Tuple](n: Int): (This, n.type)

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

Inherited from Tuple

Source
inline def tail[This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: NonEmptyTuple]: Tail[This]

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

Inherited from NonEmptyTuple

Source
inline def take[This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: Tuple](n: Int): Take[This, n.type]

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

Inherited from Tuple

Source
inline def toArray: Array[Object]

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

Inherited from Tuple

Source
inline def toIArray: IArray[Object]

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

Inherited from Tuple

Source
inline def toList: List[Union[(T1, T2, T3, T4, T5, T6, T7, T8)]]

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

Inherited from Tuple

Source
inline def zip[This >: (T1, T2, T3, T4, T5, T6, T7, T8) <: 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

Inherited from 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/Tuple8.html

Spec-Zone.ru

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