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 Ordering.orElse用法及代碼示例
- Scala Ordering.on用法及代碼示例
- Scala Ordering.Double用法及代碼示例
- Scala Ordering.Float用法及代碼示例
- Scala Ordering.by用法及代碼示例
- Scala Option.mkString用法及代碼示例
- Scala Option.filterNot用法及代碼示例
- Scala Option.filter用法及代碼示例
- Scala Option.groupBy用法及代碼示例
- Scala Option.foreach用法及代碼示例
- Scala Option.unzip用法及代碼示例
- Scala Option.sliding用法及代碼示例
- Scala OpenHashMap.scanRight用法及代碼示例
- Scala Option.sizeIs用法及代碼示例
- Scala OpenHashMap.sizeCompare用法及代碼示例
- Scala OpenHashMap.mkString用法及代碼示例
- Scala Option.zip用法及代碼示例
- Scala Option.groupMapReduce用法及代碼示例
- Scala OpenHashMap.runWith用法及代碼示例
- Scala Option.lazyZip用法及代碼示例
- Scala OpenHashMap.inits用法及代碼示例
- Scala Option.transpose用法及代碼示例
- Scala OptionOrdering.orElseBy用法及代碼示例
- Scala Option.scanRight用法及代碼示例
- Scala Option.orNull用法及代碼示例
注:本文由純淨天空篩選整理自scala-lang.org大神的英文原創作品 Ordering.orElseBy。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。