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