當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Scala Ordering.orElseBy用法及代碼示例


orElseBy 方法(或屬性)屬於math.Ordering特性(trait),其相關用法說明如下。

用法:

def orElseBy[S](f: T => S)(implicit ord: Ordering[S]): Ordering[T]
Iterable 隱式添加

給定 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)

源碼:

Ordering.scala

相關用法


注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 Ordering.orElseBy。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。