Spec-Zone.ru › Scala 3.2

Трейт Ordering.BigDecimalOrdering

Исходный код

Трейт BigDecimalOrdering extends Ordering[BigDecimal]

Суператрибуты
Трейт Ordering[BigDecimal]
Трейт PartialOrdering[BigDecimal]
Трейт Equiv[BigDecimal]
Трейт Serializable
Трейт Comparator[BigDecimal]
Класс Object
Трейт Matchable
Класс Any
Известные подтипы
Объект BigDecimalAsIfIntegral.type
Объект BigDecimalIsFractional.type
Объект BigDecimal.type

Наследованные классы

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

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

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

Наследуется от Ordering

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

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

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

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

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

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

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

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

Классы определений Ordering -> PartialOrdering -> Equiv
Наследуется от Ordering

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

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

Классы определений Ordering -> PartialOrdering
Наследуется от Ordering

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

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

Классы определений Ordering -> PartialOrdering
Наследуется от Ordering

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

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

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

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

Наследуется от Ordering

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

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

Классы определений Ordering -> PartialOrdering
Наследуется от Ordering

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

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

Классы определений Ordering -> PartialOrdering
Наследуется от Ordering

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

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

Наследуется от Ordering

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

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

Наследуется от Ordering

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

Учитывая f, функцию из U в T, создает Ordering[U], чья функция compare эквивалентна:

def compare(x:U, y:U) = Ordering[T].compare(f(x), f(y))
Наследуется от Ordering

Исходный код
def orElse(other: Ordering[BigDecimal]): Ordering[T]

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

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

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

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

Исходный код
def orElseBy[S](f: BigDecimal => S)(implicit ord: Ordering[S]): Ordering[T]

Учитывая f, функцию из T в S, создаёт Ordering[T], чья функция compare возвращает результат функции compare этого 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

Исходный код
override def reverse: Ordering[T]

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

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

Классы определений Ordering -> PartialOrdering
Наследуется от Ordering

def reversed(): Comparator[T]

Inherited from Comparator

def thenComparing[U <: Comparable[_ >: U <: <FromJavaObject>]](x$0: Function[_ >: BigDecimal <: <FromJavaObject>, _ <: U]): Comparator[T]

Inherited from Comparator

def thenComparing[U <: <FromJavaObject>](x$0: Function[_ >: BigDecimal <: <FromJavaObject>, _ <: U], x$1: Comparator[_ >: U <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

def thenComparing(x$0: Comparator[_ >: BigDecimal <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

def thenComparingDouble(x$0: ToDoubleFunction[_ >: BigDecimal <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

def thenComparingInt(x$0: ToIntFunction[_ >: BigDecimal <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

def thenComparingLong(x$0: ToLongFunction[_ >: BigDecimal <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

Source
def tryCompare(x: BigDecimal, y: BigDecimal): Option[Int]

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

Inherited from Ordering

Inherited implicits

Source
implicit def mkOrderingOps(lhs: BigDecimal): OrderingOps

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

Inherited from 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/Ordering$$BigDecimalOrdering.html

Spec-Zone.ru

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