Создает Ordering[T], чья функция compare возвращает результат функции compare этого Ordering, если она отлична от нуля, иначе результат функции compare 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], чья функция compare возвращает результат функции compare этого 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 также, если они изменяют поведение (например, кэширование не требует переопределения).