Spec-Zone.ru › Scala 3.1

Трейт scala.math.StringOrdering

Исходный код

Трейт StringOrdering extends Ordering[String]

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает true, если x больше, чем y в порядке сортировки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает x, если x больше или равно y, иначе y.

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

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

Возвращает x, если x меньше или равно y, иначе y.

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

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

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

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

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

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

Параметры значения
other

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

Пример
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: String => S)(implicit ord: Ordering[S]): Ordering[String]

Принимая f, функцию от T к S, создает Ordering[T], чья функция compare возвращает результат функции compare этого 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[String]

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

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

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

def reversed(): Comparator[String]

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
def tryCompare(x: String, y: String): Option[Int]

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

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

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

Источник
implicit def mkOrderingOps(lhs: String): 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$$StringOrdering.html

Spec-Zone.ru

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