Spec-Zone.ru › Scala 3.2

Object Ordering.Symbol

Исходный код

object Symbol extends SymbolOrdering

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

Inherited classlikes

Source
class OrderingOps(lhs: T)

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

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

Inherited from Ordering

Inherited methods

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

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

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

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

Inherited from SymbolOrdering

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

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

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

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

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

Definition Classes Ordering -> PartialOrdering
Inherited from Ordering

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

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

Definition Classes Ordering -> PartialOrdering
Inherited from Ordering

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

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

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

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

Inherited from Ordering

Source
override def lt(x: Symbol, y: Symbol): Boolean

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

Definition Classes Ordering -> PartialOrdering
Inherited from Ordering

Source
override def lteq(x: Symbol, y: Symbol): Boolean

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

Definition Classes Ordering -> PartialOrdering
Inherited from Ordering

Source
def max[U <: Symbol](x: U, y: U): U

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

Inherited from Ordering

Source
def min[U <: Symbol](x: U, y: U): U

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

Inherited from Ordering

Source
def on[U](f: U => Symbol): Ordering[U]

Учитывая f, функцию от U к T, создаёт Ordering[U], функция сравнения которого эквивалентна:

def compare(x:U, y:U) = Ordering[T].compare(f(x), f(y))
Inherited from Ordering

Source
def orElse(other: Ordering[Symbol]): Ordering[T]

Создаёт Ordering[T], функция сравнения которого возвращает результат функции сравнения этого Ordering, если она не равна нулю, или результат функции сравнения other.

Value parameters
other

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

Example
case class Pair(a: Int, b: Int)
val pairOrdering = Ordering.by[Pair, Int](_.a)
                          .orElse(Ordering.by[Pair, Int](_.b))
Inherited from Ordering

Source
def orElseBy[S](f: Symbol => S)(implicit ord: Ordering[S]): Ordering[T]

Учитывая f, функцию от T к S, создаёт Ordering[T], функция сравнения которого возвращает результат функции сравнения этого Ordering, если она не равна нулю, или результат, эквивалентный:

Ordering[S].compare(f(x), f(y))

Эта функция эквивалентна передаче результата Ordering.by(f) в orElse.

Example
case class Pair(a: Int, b: Int)
val pairOrdering = Ordering.by[Pair, Int](_.a)
                          .orElseBy[Int](_.b)
Inherited from Ordering

Source
override def reverse: Ordering[T]

Возвращает противоположный порядок.

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

Definition Classes Ordering -> PartialOrdering
Inherited from Ordering

def reversed(): Comparator[T]

Inherited from Comparator

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

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

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

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

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

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

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

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

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

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

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

Унаследовано от 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.2.0/scala/math/Ordering$$Symbol$.html

Spec-Zone.ru

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