Spec-Zone.ru › Scala 3.1

Класс scala.Tuple4

Исходный код

final case class Tuple4[+T1, +T2, +T3, +T4](_1: T1, _2: T2, _3: T3, _4: T4) extends Product4[T1, T2, T3, T4]

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

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

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

_2

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

_3

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

_4

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

Конструктор

Создает новый кортеж с 4 элементами. Обратите внимание, что более идиоматичным способом создания Tuple4 является (t1, t2, t3, t4)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Наследованный от NonEmptyTuple

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

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

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

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

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

Наследованный от NonEmptyTuple

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

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

Наследованный от NonEmptyTuple

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

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

Наследованный от NonEmptyTuple

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

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

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

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

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

Возвращает

4

Классы определений Product4 -> Product
Наследованный от Product4

Исходный код@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 ≥ 4).

Классы определений Product4 -> Product
Наследованный от Product4

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Унаследовано от Кортеж

Исходный код
inline def хвост[This >: (T1, T2, T3, T4) <: Непустой кортеж]: Хвост[This]

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

Унаследовано от Непустой кортеж

Исходный код
inline def взять[This >: (T1, T2, T3, T4) <: Кортеж](n: Целое число): Взять[This, n.type]

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

Унаследовано от Кортеж

Исходный код
inline def в массив: Массив[Объект]

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

Унаследовано от Кортеж

Исходный код
inline def в IМассив: IMассив[Объект]

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

Унаследовано от Кортеж

Исходный код
inline def в список: Список[Объединение[(T1, T2, T3, T4)]]

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

Унаследовано от Кортеж

Исходный код
inline def объединить[This >: (T1, T2, T3, T4) <: Кортеж, T2 <: Кортеж](t2: T2): Объединение[This, T2]

Учитывая два кортежа, (a1, ..., an) и (a1, ..., an), возвращает кортеж ((a1, b1), ..., (an, bn)). Если у двух кортежей разная длина, лишние элементы более длинного кортежа будут проигнорированы. Результат типизируется как ((A1, B1), ..., (An, Bn)), если хотя бы один из типов кортежей имеет EmptyTuple хвост. В противном случае тип результата (A1, B1) *: ... *: (Ai, Bi) *: 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/Tuple4.html

Spec-Zone.ru

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