Создаёт 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, если они изменяют поведение (например, кеширование не требует его переопределения).