Spec-Zone.ru › Scala 3.2

Trait Ordering.CharOrdering

Исходный код

trait CharOrdering extends Ordering[Символ]

Суперобъекты
trait Ordering[Символ]
trait ЧастичноеУпорядочение[Символ]
trait Эквивалентность[Символ]
trait Serializable
trait Comparator[Символ]
class Object
trait Сопоставимый
class Любой
Известные подтипы
объект CharIsIntegral.type
объект Char.type

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

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

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

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

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

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

Исходный код
def compare(x: Символ, y: Символ): ЦелоеЧисло

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

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

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

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

Исходный код
override def equiv(x: Символ, y: Символ): Булево

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

Классы определений Ordering -> ЧастичноеУпорядочение -> Эквивалентность
Наследованно от Ordering

Исходный код
override def gt(x: Символ, y: Символ): Булево

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

Классы определений Ordering -> ЧастичноеУпорядочение
Наследованно от Ordering

Исходный код
override def gteq(x: Символ, y: Символ): Булево

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

Классы определений Ordering -> ЧастичноеУпорядочение
Наследованно от Ordering

Исходный код
def isReverseOf(other: Ordering[_]): Булево

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

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

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

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

Исходный код
override def lt(x: Символ, y: Символ): Булево

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

Классы определений Ordering -> ЧастичноеУпорядочение
Наследованно от Ordering

Исходный код
override def lteq(x: Символ, y: Символ): Булево

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

Классы определений Ordering -> ЧастичноеУпорядочение
Наследованно от Ordering

Исходный код
def max[U <: Символ](x: U, y: U): U

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

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

Исходный код
def min[U <: Символ](x: U, y: U): U

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

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

Исходный код
def on[U](f: U => Символ): 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[Символ]): 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: Символ => 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 -> ЧастичноеУпорядочение
Наследованно от Ordering

def reversed(): Comparator[T]

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

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

Inherited from Comparator

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

Inherited from Comparator

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

Inherited from Comparator

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

Inherited from Comparator

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

Inherited from Comparator

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

Inherited from Comparator

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

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

Inherited from Ordering

Inherited implicits

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

Spec-Zone.ru

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