3
如果我有一個案例類這樣斯卡拉排序選項
爲什麼這項工作
scala> val l = List(Foo(Some("b")), Foo(Some("a")), Foo(Some("c")))
l: List[Foo] = List(Foo(Some(b)), Foo(Some(a)), Foo(Some(c)))
scala> l.sortBy(_.bar)
res1: List[Foo] = List(Foo(Some(a)), Foo(Some(b)), Foo(Some(c)))
,但不是這個
scala> l.sortWith((x,y) => x.bar > y.bar)
<console>:11: error: value > is not a member of Option[String]
l.sortWith((x,y) => x.bar > y.bar)
如果我要排序的List
Option[String]
按降序排列,使用sortBy
然後更簡單的列表?
您可以使用'import math.Ordered._'添加您的答案解決方案。在這種情況下,'l.sortWith((x,y)=> x.bar> y.bar)'按預期工作。 – senia
@senia - 確實,這將是一個好主意。不知道爲什麼我認爲人們會想用手工的方式做到這一點。反思厭惡額外進口,也許? –