Spec-Zone.ru › Scala 3.2

Object Ordering.BigInt

Исходный код

object BigInt extends BigIntOrdering

Supertypes
trait BigIntOrdering
trait Ordering[BigInt]
trait PartialOrdering[BigInt]
trait Equiv[BigInt]
trait Serializable
trait Comparator[BigInt]
class Object
trait Matchable
class Any
Self type
BigInt.type

Inherited classlikes

Source
class OrderingOps(lhs: T)

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

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

Inherited from Ordering

Inherited methods

Source
def compare(x: BigInt, y: BigInt): Int

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

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

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

Inherited from BigIntOrdering

Source
override def equiv(x: BigInt, y: BigInt): Boolean

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

Definition Classes Ordering -> PartialOrdering -> Equiv
Inherited from Ordering

Source
override def gt(x: BigInt, y: BigInt): Boolean

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

Definition Classes Ordering -> PartialOrdering
Inherited from Ordering

Source
override def gteq(x: BigInt, y: BigInt): Boolean

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

Definition Classes Ordering -> PartialOrdering
Inherited from Ordering

Source
def isReverseOf(other: Ordering[_]): Boolean

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

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

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

Inherited from Ordering

Source
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

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

Пример
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$$BigInt$.html

Spec-Zone.ru

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