Spec-Zone.ru › Scala 3.1

Класс scala.Tuple2

Исходный код

final case class Tuple2[@specialized(Int, Long, Double, Char, Boolean) +T1, @specialized(Int, Long, Double, Char, Boolean) +T2](_1: T1, _2: T2) extends Product2[T1, T2]

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

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

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

_2

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

Конструктор

Создает новый кортеж с 2 элементами. Обратите внимание, что создание Tuple2 через (t1, t2) более идиоматично.

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

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

Исходный код
def swap: (T2, T1)

Меняет местами элементы этого Tuple.

Возвращаемое значение

новый Tuple, где первый элемент — второй элемент этого Tuple, а второй элемент — первый элемент этого Tuple.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Получает голову этого кортежа.

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

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

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

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

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

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

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

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

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

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

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

Арность этого произведения.

Возвращаемое значение

2

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

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

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

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

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

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

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

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

Возвращаемое значение

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

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

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

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

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

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

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

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

Исходный код
inline def tail[This >: (T1, T2) <: NonEmptyTuple]: Tail[This]

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

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

Исходный код
inline def take[This >: (T1, T2) <: 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[(T1, T2)]]

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

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

Исходный код
inline def zip[This >: (T1, T2) <: 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/Tuple2.html

Spec-Zone.ru

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