Spec-Zone.ru › Scala 3.2

Трейт Ordering.BigIntOrdering

Исходный код

трейт BigIntOrdering extends Ordering[BigInt]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исходный код
def on[U](f: U => BigInt): 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[BigInt]): Ordering[T]

Создаёт 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: BigInt => 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

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

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

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

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

def reversed(): Comparator[T]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Source
implicit def mkOrderingOps(lhs: BigInt): 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/Ordering$$BigIntOrdering.html

Spec-Zone.ru

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