我正在从 scala 2.7 切换并订购到 scala 2.8 并使用订购。它看起来很简单,但我想知道我能否让它不那么冗长。例如:
scala> case class A(i: Int)
defined class A
scala> object A extends Ordering[A] { def compare(o1: A, o2: A) = o1.i - o2.i}
defined module A
如果我随后尝试创建 TreeMap,则会收到错误消息
scala> new collection.immutable.TreeMap[A, String]()
<console>:10: error: could not find implicit value for parameter ordering: Ordering[A]
new collection.immutable.TreeMap[A, String]()
^
但是,如果我将对象 A 明确指定为排序,则它可以正常工作。
scala> new collection.immutable.TreeMap[A, String]()(A)
res34: scala.collection.immutable.TreeMap[A,String] = Map()
我总是必须明确指定顺序还是有更短的格式?
谢谢