Spec-Zone.ru › Scala 3.2

Объект Numeric.IntIsIntegral

Класс-компаньон • Исходный код

объект IntIsIntegral extends IntIsIntegral с IntOrdering

Суперадресаты
Тракт IntOrdering
Тракт IntIsIntegral
Тракт Integral[Int]
Тракт Numeric[Int]
Тракт Ordering[Int]
Тракт PartialOrdering[Int]
Тракт Equiv[Int]
Тракт Serializable
Тракт Comparator[Int]
Класс Object
Тракт Matchable
Класс Any
Тип "self"
IntIsIntegral.type

Наследованные классы-подобные структуры

Исходный код
класс IntegralOps(lhs: T) extends NumericOps

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

Исходный код
класс NumericOps(lhs: T)

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

Исходный код
класс OrderingOps(lhs: T)

Этот внутренний класс определяет операторы сравнения, доступные для T.

Он не может расширять AnyVal , так как это не класс верхнего уровня или член статически доступного объекта.

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

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

Исходный код
def abs(x: Int): T

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

Исходный код
def compare(x: Int, y: Int): Int

Возвращает целое число, знак которого сообщает, как x сравнивается с y.

Знак результата имеет следующий смысл:

- отрицательный, если x < y - положительный, если x > y - нулевой в противном случае (если x == y)

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

Исходный код
переопределение def equiv(x: Int, y: Int): Boolean

Возвращает true, если x равно y в порядке сортировки.

Классы-определения Ordering -> PartialOrdering -> Equiv
Унаследовано от Ordering

Исходный код
def fromInt(x: Int): Int

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

Исходный код
переопределение def gt(x: Int, y: Int): Boolean

Возвращает true, если x больше, чем y в порядке сортировки.

Классы-определения Ordering -> PartialOrdering
Унаследовано от Ordering

Исходный код
override def gteq(x: Int, y: Int): Boolean

Возвращает true, если x больше или равно y в порядке сортировки.

Классы-определения Ordering -> PartialOrdering
Унаследовано от Ordering

Исходный код
def isReverseOf(other: Ordering[_]): Boolean

Возвращает, является ли другой порядок обратным к этому.

Эквивалентно other == this.reverse.

Реализации должны переопределять этот метод только в том случае, если они также переопределяют reverse.

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

Исходный код
override def lt(x: Int, y: Int): Boolean

Возвращает true, если x меньше y в порядке сортировки.

Классы-определения Ordering -> PartialOrdering
Унаследовано от Ordering

Исходный код
override def lteq(x: Int, y: Int): Boolean

Возвращает true, если x меньше или равно y в порядке сортировки.

Классы-определения Ordering -> PartialOrdering
Унаследовано от Ordering

Исходный код
def max[U <: Int](x: U, y: U): U

Возвращает x, если x больше или равно y, в противном случае y.

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

Исходный код
def min[U <: Int](x: U, y: U): U

Возвращает x, если x меньше или равно y, в противном случае y.

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

Исходный код
def minus(x: Int, y: Int): Int

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

Исходный код
def negate(x: Int): Int

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

Исходный код
def on[U](f: U => Int): Ordering[U]

Исходя из f, функции из U в T, создает Ordering[U], функция сравнения которого эквивалентна:

def compare(x:U, y:U) = Ordering[T].compare(f(x), f(y))
Унаследовано от Ordering

Source
def one: T

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

Source
def orElse(other: Ordering[Int]): Ordering[T]

Создаёт Ordering[T], функция сравнения которого возвращает результат функции сравнения данного Ordering, если она не равна нулю, иначе — результат функции сравнения other.

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

Ordering для использования, если данный Ordering возвращает ноль

Пример
case class Pair(a: Int, b: Int)
val pairOrdering = Ordering.by[Pair, Int](_.a)
                          .orElse(Ordering.by[Pair, Int](_.b))
Унаследовано от Ordering

Source
def orElseBy[S](f: Int => S)(implicit ord: Ordering[S]): Ordering[T]

Принимая f, функцию из T в S, создаёт Ordering[T], функция сравнения которого возвращает результат функции сравнения данного Ordering, если она не равна нулю, или же результат, эквивалентный:

Ordering[S].compare(f(x), f(y))

Эта функция эквивалентна передаче результата Ordering.by(f) в orElse.

Пример
case class Pair(a: Int, b: Int)
val pairOrdering = Ordering.by[Pair, Int](_.a)
                          .orElseBy[Int](_.b)
Унаследовано от Ordering

Source
def parseString(str: String): Option[Int]

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

Source
def plus(x: Int, y: Int): Int

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

Source
def quot(x: Int, y: Int): Int

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

Source
def rem(x: Int, y: Int): Int

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

Source
override def reverse: Ordering[T]

Возвращает обратный порядок.

Реализации, переопределяющие этот метод, ОБЯЗАНЫ также переопределить isReverseOf, если они меняют поведение (например, кэширование не требует его переопределения).

Классы определения Ordering -> PartialOrdering
Унаследовано от Ordering

def reversed(): Comparator[T]

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

Source
override def sign(x: Int): Int

Классы определения IntIsIntegral -> Numeric
Унаследовано от IntIsIntegral

Источник
override def signum(x: Целое число): Целое число

Классы определения IntIsIntegral -> Numeric
Унаследовано от IntIsIntegral

def thenComparing[U <: Comparable[_ >: U <: <FromJavaObject>]](x$0: Function[_ >: Целое число <: <FromJavaObject>, _ <: U]): Comparator[T]

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

def thenComparing[U <: <FromJavaObject>](x$0: Function[_ >: Целое число <: <FromJavaObject>, _ <: U], x$1: Comparator[_ >: U <: <FromJavaObject>]): Comparator[T]

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

def thenComparing(x$0: Comparator[_ >: Целое число <: <FromJavaObject>]): Comparator[T]

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

def thenComparingDouble(x$0: ToDoubleFunction[_ >: Целое число <: <FromJavaObject>]): Comparator[T]

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

def thenComparingInt(x$0: ToIntFunction[_ >: Целое число <: <FromJavaObject>]): Comparator[T]

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

def thenComparingLong(x$0: ToLongFunction[_ >: Целое число <: <FromJavaObject>]): Comparator[T]

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

Источник
def times(x: Целое число, y: Целое число): Целое число

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

Источник
def toDouble(x: Целое число): Двойная точность

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

Исходный код
def toFloat(x: Целое): Вещественное

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

Исходный код
def toInt(x: Целое): Целое

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

Исходный код
def toLong(x: Целое): Длинное целое

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

Исходный код
def tryCompare(x: Целое, y: Целое): Вариант[Целое]

Возвращает, определено ли сравнение между x и y, и если да, то результат compare(x, y).

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

Исходный код
def zero: T

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

Унаследованные неявные методы

Исходный код
implicit override def mkNumericOps(lhs: Целое): IntegralOps

Классы-предки Integral -> Numeric
Унаследовано от Integral

Исходный код
implicit def mkOrderingOps(lhs: Целое): OrderingOps

Этот неявный метод дополняет T операторами сравнения, определёнными в scala.math.Ordering.Ops.

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

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/math/Numeric$$IntIsIntegral$.html

Spec-Zone.ru

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