Создает Ordering[T], функция сравнения которого возвращает результат функции сравнения этого Ordering, если она не равна нулю, или же результат функции сравнения other.
Параметры значения
other
Ordering, который используется, если этот Ordering возвращает ноль
Пример
case class Pair(a: Int, b: Int)
val pairOrdering = Ordering.by[Pair, Int](_.a)
.orElse(Ordering.by[Pair, Int](_.b))
Учитывая 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)
Возвращает обратный порядок сортировки этого объекта.
Реализации, переопределяющие этот метод, ДОЛЖНЫ также переопределять isReverseOf, если они изменяют поведение (например, кеширование не требует переопределения).