Spec-Zone.ru › Scala 2.13 Library

Трейт scala.Product8

Вспомогательный объект object Product8

trait Product8[+T1, +T2, +T3, +T4, +T5, +T6, +T7, +T8] extends Product

Product8 — это декартово произведение 8 компонентов.

Источник
Product8.scala
С момента версии

2.3

Линейные супертипы
Product, Equals, Any
Известные подклассы
Tuple8

Абстрактные члены-значения

abstract def _1: T1

Проекция элемента 1 этого Product.

возвращает

Проекция элемента 1.

abstract def _2: T2

Проекция элемента 2 этого Product.

возвращает

Проекция элемента 2.

abstract def _3: T3

Проекция элемента 3 этого Product.

возвращает

Проекция элемента 3.

abstract def _4: T4

Проекция элемента 4 этого Product.

возвращает

Проекция элемента 4.

abstract def _5: T5

Проекция элемента 5 этого Product.

возвращает

Проекция элемента 5.

abstract def _6: T6

Проекция элемента 6 этого Product.

возвращает

Проекция элемента 6.

abstract def _7: T7

Проекция элемента 7 этого Product.

возвращает

Проекция элемента 7.

abstract def _8: T8

Проекция элемента 8 этого Product.

возвращает

Проекция элемента 8.

abstract def canEqual(that: Any): Boolean

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

that

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

возвращает

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

Определяющие классы
Equals

abstract def getClass(): Class[_ <: AnyRef]

Возвращает представление класса объекта во время выполнения.

возвращает

объект класса, соответствующий времени выполнения типа получателя.

Определяющие классы
Any

Члены-значения конкретных типов

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), в противном случае false.

Определяющие классы
Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых значений возвращает значение хеша, согласованное с равенством значений: если две инстанции типа значения сравниваются как true, то ## для каждой из них будет возвращать одинаковое значение хеша. Для null возвращает код хеша, где null.hashCode вызывает NullPointerException.

возвращает

значение хеша, согласованное с ==

Определяющие классы
Any

def +(other: String): String

Неявный
Этот член добавляется благодаря неявной конверсии из Product8[T1, T2, T3, T4, T5, T6, T7, T8] в any2stringadd[Product8[T1, T2, T3, T4, T5, T6, T7, T8]] выполнена методом any2stringadd в scala.Predef.
Определяющие классы
any2stringadd

def ->[B](y: B): (Product8[T1, T2, T3, T4, T5, T6, T7, T8], B)

Неявный
Этот член добавляется благодаря неявной конверсии из Product8[T1, T2, T3, T4, T5, T6, T7, T8] в ArrowAssoc[Product8[T1, T2, T3, T4, T5, T6, T7, T8]] выполнена методом ArrowAssoc в scala.Predef.
Определяющие классы
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

Проверка двух объектов на равенство. Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

true если объект-приемник эквивалентен аргументу; false в противном случае.

Определяющие классы
Any

final def asInstanceOf[T0]: T0

Приведение объекта-приемника к типу T0.

Обратите внимание, что успех приведения во время выполнения зависит от правил стирания типов в Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, поскольку аргумент типа стирается во время компиляции, нельзя проверить, содержатся ли элементы списка в требуемом типе.

возвращает

объект-приемник.

Определяющие классы
Any
Исключения

ClassCastException, если объект-приемник не является экземпляром стираемого типа T0.

def ensuring(cond: (Product8[T1, T2, T3, T4, T5, T6, T7, T8]) => Boolean, msg: => Any): Product8[T1, T2, T3, T4, T5, T6, T7, T8]

Неявный
Этот член добавлен неявным преобразованием из Product8[T1, T2, T3, T4, T5, T6, T7, T8] в Ensuring[Product8[T1, T2, T3, T4, T5, T6, T7, T8]] с помощью метода Ensuring в scala.Predef.
Классы-определения
Ensuring

def ensuring(cond: (Product8[T1, T2, T3, T4, T5, T6, T7, T8]) => Boolean): Product8[T1, T2, T3, T4, T5, T6, T7, T8]

Неявный
Этот член добавлен неявным преобразованием из Product8[T1, T2, T3, T4, T5, T6, T7, T8] в Ensuring[Product8[T1, T2, T3, T4, T5, T6, T7, T8]] с помощью метода Ensuring в scala.Predef.
Классы-определения
Ensuring

def ensuring(cond: Boolean, msg: => Any): Product8[T1, T2, T3, T4, T5, T6, T7, T8]

Неявный
Этот член добавлен неявным преобразованием из Product8[T1, T2, T3, T4, T5, T6, T7, T8] в Ensuring[Product8[T1, T2, T3, T4, T5, T6, T7, T8]] с помощью метода Ensuring в scala.Predef.
Классы-определения
Ensuring

def ensuring(cond: Boolean): Product8[T1, T2, T3, T4, T5, T6, T7, T8]

Неявный
Этот член добавлен неявным преобразованием из Product8[T1, T2, T3, T4, T5, T6, T7, T8] в Ensuring[Product8[T1, T2, T3, T4, T5, T6, T7, T8]] с помощью метода Ensuring в scala.Predef.
Классы-определения
Ensuring

def equals(arg0: Any): Boolean

Сравнивает объект-получатель (this) с объектом-аргументом (that) на предмет эквивалентности.

Любая реализация этого метода должна быть отношением эквивалентности:

    Он рефлексивен: для любого экземпляра x типа Any, x.equals(x) должен возвращать true.Он симметричен: для любых экземпляров x и y типа Any, x.equals(y) должен возвращать true тогда и только тогда, когда y.equals(x) возвращает true.Он транзитивен: для любых экземпляров x, y, и z типа Any, если x.equals(y) возвращает true и y.equals(z) возвращает true, тогда x.equals(z) должен возвращать true.

Если вы переопределяете этот метод, вам следует убедиться, что ваша реализация остаётся отношением эквивалентности. Кроме того, при переопределении этого метода обычно необходимо переопределить hashCode, чтобы гарантировать, что объекты, которые являются «равными» (o1.equals(o2) возвращает true) имеют одинаковый хэш-код scala.Int. (o1.hashCode.equals(o2.hashCode)).

returns

true если объект-получатель эквивалентен аргументу; false в противном случае.

Definition Classes
Any

def formatted(fmtstr: String): String

Возвращает строку, отформатированную согласно заданной строке format. Форматирующие строки такие же, как для String.format (@see java.lang.String.format).

Implicit
Этот член добавляется неявным преобразованием из Product8[T1, T2, T3, T4, T5, T6, T7, T8] в StringFormat[Product8[T1, T2, T3, T4, T5, T6, T7, T8]] выполняемым методом StringFormat в scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

def hashCode(): Int

Вычисляет значение хэш-кода для объекта.

Алгоритм хэширования по умолчанию зависит от платформы.

Обратите внимание, что допускается, чтобы два объекта имели одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)) и при этом не быть равными (o1.equals(o2) возвращает false). Вырожденная реализация могла бы всегда возвращать 0. Однако требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), то у них были одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода обязательно проверьте, что поведение согласуется с методом equals.

returns

значение хэш-кода для этого объекта.

Definition Classes
Any

final def isInstanceOf[T0]: Boolean

Проверяет, является ли динамический тип объекта-получателя T0.

Обратите внимание, что результат теста выполняется с учётом семантики стирания типов Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. Во втором примере, поскольку параметр типа стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка указанному типу.

returns

true если объект-получатель является экземпляром стирания типа T0; false в противном случае.

Definition Classes
Any

def productArity: Int

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

returns

8

Definition Classes
Product8 → Product

def productElement(n: Int): Any

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

n

номер возвращаемой проекции

returns

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

Definition Classes
Product8 → Product
Annotations
@throws(classOf[IndexOutOfBoundsException])
Exceptions thrown

IndexOutOfBoundsException если n находится за пределами допустимого диапазона (n < 0 || n >= 8).

def productElementName(n: Int): String

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

n

индекс имени элемента, который нужно вернуть

returns

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

Definition Classes
Product
Exceptions thrown

IndexOutOfBoundsException если n находится за пределами допустимого диапазона (n < 0 || n >= productArity).

def productElementNames: Iterator[String]

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

Definition Classes
Product

def productIterator: Iterator[Any]

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

возвращает

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

Определяющие классы
Product

def productPrefix: String

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

возвращает

в реализации по умолчанию, пустая строка

Определяющие классы
Product

def toString(): String

Возвращает строковое представление объекта.

Представление по умолчанию зависит от платформы.

возвращает

строковое представление объекта.

Определяющие классы
Any

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/Product8.html

Spec-Zone.ru

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