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