我有一个简单的Scala case class实例列表,想要使用list.sorted
按可预测的词典顺序打印它们,但是收到了“没有为...定义隐式排序”的错误信息。
是否存在提供case class词典顺序的隐式对象?
是否有简单的惯用方式将词典顺序混合到case class中?
scala> case class A(tag:String, load:Int)
scala> val l = List(A("words",50),A("article",2),A("lines",7))
scala> l.sorted.foreach(println)
<console>:11: error: No implicit Ordering defined for A.
l.sorted.foreach(println)
^
我对“hack”不感满意:
scala> l.map(_.toString).sorted.foreach(println)
A(article,2)
A(lines,7)
A(words,50)