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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。