如果我有两个选项,例如
val a = Option(2)
val b = Option(1)
我可以写
List(a,b).sorted
它通过插入隐式排序来正确排序。我如何获得此订购的引用,以便我可以调用
compare(a,b)
并得到结果?我想要相当于val comparison = a.compare(b)
除非 a 和 b 是 Ordered 的实例。
最佳答案
您可以直接要求隐式排序:
Welcome to Scala version 2.10.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_21).
Type in expressions to have them evaluated.
Type :help for more information.
scala> implicitly[Ordering[Option[Int]]]
res0: Ordering[Option[Int]] = scala.math.Ordering$$anon$3@501a9177
scala> res0.compare(Some(1), Some(3))
res1: Int = -1
关于Scala:如何明确比较两个选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23283897/