Spec-Zone.ru › Scala 3.1

Объект scala.math.Symbol

Исходный код

объект Symbol расширяет SymbolOrdering

Суперобъекты
Тракт SymbolOrdering
Тракт Ordering[Symbol]
Тракт PartialOrdering[Symbol]
Тракт Equiv[Symbol]
Тракт Serializable
Тракт Comparator[Symbol]
Класс Object
Тракт Matchable
Класс Any
Тип "self"
Symbol.type

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

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

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

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

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

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

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

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

Исходный код
переопределенный def equiv(x: Symbol, y: Symbol): Boolean

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

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

Исходный код
переопределенный def gt(x: Symbol, y: Symbol): Boolean

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

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

Исходный код
переопределенный def gteq(x: Symbol, y: Symbol): Boolean

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

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

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

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

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

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

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

Исходный код
переопределенный def lt(x: Symbol, y: Symbol): Boolean

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

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

Исходный код
переопределенный 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, преобразующей U в T, создаёт 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, преобразующей 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

Исходный код
переопределенный def reverse: Ordering[Symbol]

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

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

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

def reversed(): Comparator[Symbol]

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

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$$Symbol$.html

Spec-Zone.ru

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