Я переключаюсь с 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()
Всегда ли нужно явно указывать порядок или есть более короткий формат?
Спасибо