Spec-Zone.ru › Scala 3.2

Особенность Ordering.UnitOrdering

Исходный код

особенность UnitOrdering extends Ordering[Unit]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
override def lteq(x: Unit, y: Unit): Boolean

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

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

Источник
def max[U <: Unit](x: U, y: U): U

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

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

Источник
def min[U <: Unit](x: U, y: U): U

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

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

Источник
def on[U](f: U => Unit): 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[Unit]): 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: Unit => 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[_ >: Unit <: <FromJavaObject>, _ <: U]): Comparator[T]

Inherited from Comparator

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

Inherited from Comparator

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

Inherited from Comparator

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

Inherited from Comparator

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

Inherited from Comparator

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

Inherited from Comparator

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

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

Inherited from Ordering

Inherited implicits

Source
implicit def mkOrderingOps(lhs: Unit): 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$$UnitOrdering.html

Spec-Zone.ru

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