나는 경우이 작업을 수행하는 이유스칼라 정렬 옵션
case class Foo(bar: Option[String])
같은 경우 클래스
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 - 실제로 이것은 좋은 생각입니다. 왜 내가 수동으로 해보고 싶다고 생각하는지 모르겠다. 여분의 수입에 대한 반사적 인 혐오감, 아마도? –