Spec-Zone.ru › Scala 3.1

Объект scala.math.BigDecimal

Исходный код

объект BigDecimal extends BigDecimalOrdering

Надтипы
тракт BigDecimalOrdering
тракт Ordering[BigDecimal]
тракт PartialOrdering[BigDecimal]
тракт Equiv[BigDecimal]
тракт Serializable
тракт Comparator[BigDecimal]
класс Object
тракт Matchable
класс Any
Тип "Я"
BigDecimal.type

Наследуемые классы

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

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

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

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

Наследуемые методы

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

Наследованно от BigDecimalOrdering

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

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

Определяющие классы Ordering -> PartialOrdering -> Equiv
Наследованно от Ordering

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

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

Определяющие классы Ordering -> PartialOrdering
Наследованно от Ordering

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

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

Определяющие классы Ordering -> PartialOrdering
Наследованно от Ordering

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

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

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

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

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

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

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

Определяющие классы Ordering -> PartialOrdering
Наследованно от Ordering

Исходный код
переопределенное 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], чья функция сравнения эквивалентна:

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

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

Создает Ordering[T], чья функция сравнения возвращает результат функции сравнения этого Ordering, если она отлична от нуля, или результат функции сравнения 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[BigDecimal]

Учитывая 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

Исходный код
переопределенное def reverse: Ordering[BigDecimal]

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

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

Определяющие классы Ordering -> PartialOrdering
Наследованно от Ordering

def reversed(): Comparator[BigDecimal]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Source
implicit def mkOrderingOps(lhs: BigDecimal): 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.1.1/scala/math/Ordering$$BigDecimal$.html

Spec-Zone.ru

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