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