当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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