Spec-Zone.ru › Scala 3.2

Характер Ordering.BooleanOrdering

Исходный код

характер BooleanOrdering extends Ordering[Boolean]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Spec-Zone.ru

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