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