Spec-Zone.ru › Scala 3.1

Трейт scala.math.PartialOrdering

Вспомогательный объект • Исходный код

trait PartialOrdering[T] extends Equiv[T]

Трейт для представления частичных порядков. Важно различать тип, имеющий частичный порядок, и представление частичного порядка для некоторого типа. Этот трейт предназначен для представления последнего.

Частичный порядок — это бинарное отношение на типе T, представленное как метод lteq этого трейта. Это отношение должно быть:

- рефлексивным: lteq(x, x) == true, для любого x типа T. - антисимметричным: если lteq(x, y) == true и lteq(y, x) == true тогда equiv(x, y) == true, для любых x и y типа T. - транзитивным: если lteq(x, y) == true и lteq(y, z) == true тогда lteq(x, z) == true, для любых x, y, и z типа T.

Кроме того, частичный порядок индуцирует отношение эквивалентности на типе T: x и y типа T эквивалентны тогда и только тогда, когда lteq(x, y) && lteq(y, x) == true. Это отношение эквивалентности представлено как метод equiv, унаследованный от трейта Equiv.

Супертипы
trait Equiv[T]
trait Serializable
class Object
trait Matchable
class Any
Известные подтипы
63 типа
trait Ordering[T]
object ValueOrdering.type
object DeadlineIsOrdered.type
object DurationIsOrdered.type
object FiniteDurationIsOrdered.type
trait Numeric[T]
trait Fractional[T]
trait BigDecimalIsFractional
object BigDecimalIsFractional.type
trait DoubleIsFractional
object DoubleIsFractional.type
trait FloatIsFractional
object FloatIsFractional.type
trait Integral[T]
trait BigDecimalAsIfIntegral
object BigDecimalAsIfIntegral.type
trait BigIntIsIntegral
object BigIntIsIntegral.type
trait ByteIsIntegral
object ByteIsIntegral.type
trait CharIsIntegral
object CharIsIntegral.type
trait IntIsIntegral
object IntIsIntegral.type
trait LongIsIntegral
object LongIsIntegral.type
trait ShortIsIntegral
object ShortIsIntegral.type
trait BigDecimalIsConflicted
trait BigDecimalOrdering
object BigDecimal.type
trait BigIntOrdering
object BigInt.type
trait BooleanOrdering
object Boolean.type
trait ByteOrdering
object Byte.type
trait CachedReverse[T]
object Int.type
trait CharOrdering
object Char.type
trait IeeeOrdering
object IeeeOrdering.type
trait TotalOrdering
object DeprecatedDoubleOrdering.type
object TotalOrdering.type
trait IeeeOrdering
object IeeeOrdering.type
trait TotalOrdering
object DeprecatedFloatOrdering.type
object TotalOrdering.type
trait IntOrdering
trait LongOrdering
object Long.type
trait OptionOrdering[T]
trait ShortOrdering
object Short.type
trait StringOrdering
object String.type
trait SymbolOrdering
object Symbol.type
trait UnitOrdering
object Unit.type
Тип самого себя
PartialOrdering[T]

Абстрактные методы

Источник
def lteq(x: T, y: T): Boolean

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

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

Результат сравнения x с операндом y. Возвращает None если операнды не сравнимы. Если операнды сравнимы, возвращает Some(r), где - r < 0 если x < y - r == 0 если x == y - r > 0 если x > y

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

Источник
def equiv(x: T, y: T): Boolean

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

Источник
def gt(x: T, y: T): Boolean

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

Источник
def gteq(x: T, y: T): Boolean

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

Источник
def lt(x: T, y: T): Boolean

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

Источник
def reverse: PartialOrdering[T]

© 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/PartialOrdering.html

Spec-Zone.ru

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