Spec-Zone.ru › Scala 3.1

Трейт scala.math.SymbolOrdering

Исходный код

Трейт SymbolOrdering extends Ordering[Symbol]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исходный код
def on[U](f: U => Symbol): Ordering[U]

На основе функции f создает Ordering[U], чья функция сравнения эквивалентна:

def compare(x:U, y:U) = Ordering[T].compare(f(x), f(y))
Наследуется от Ordering

Исходный код
def orElse(other: Ordering[Symbol]): Ordering[Symbol]

Создает 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: Symbol => S)(implicit ord: Ordering[S]): Ordering[Symbol]

На основе функции f создает 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[Symbol]

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

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

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

def reversed(): Comparator[Symbol]

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

def thenComparing[U <: Comparable[_ >: U <: <FromJavaObject>]](x$0: Function[_ >: Символ <: <FromJavaObject>, _ <: U]): Comparator[Символ]

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

def thenComparing[U <: <FromJavaObject>](x$0: Function[_ >: Символ <: <FromJavaObject>, _ <: U], x$1: Comparator[_ >: U <: <FromJavaObject>]): Comparator[Символ]

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

def thenComparing(x$0: Comparator[_ >: Символ <: <FromJavaObject>]): Comparator[Символ]

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

def thenComparingDouble(x$0: ToDoubleFunction[_ >: Символ <: <FromJavaObject>]): Comparator[Символ]

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

def thenComparingInt(x$0: ToIntFunction[_ >: Символ <: <FromJavaObject>]): Comparator[Символ]

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

def thenComparingLong(x$0: ToLongFunction[_ >: Символ <: <FromJavaObject>]): Comparator[Символ]

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

Source
def tryCompare(x: Символ, y: Символ): Option[Int]

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

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

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

Source
implicit def mkOrderingOps(lhs: Символ): 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.1.1/scala/math/Ordering$$SymbolOrdering.html

Spec-Zone.ru

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