Mam następujący kod:Zasady dotyczące korzystania instrukcję case zniszczeniu krotki w Scala
val xs = List(('a', 1), ('a', 2), ('b', 3), ('b', 4))
Chcę, aby przekształcić to na mapie. na przykład Map('a' -> Seq(1,2), 'b' -> Seq(3,4))
. Więc przystąpić do pisania transformację:
xs.groupBy(_._1) map {
case (k, v) => (k, v.map(_._2))
}
Dlaczego klamra po mapie trzeba być {
. Kiedy zacząłem, założyłem, że mogę wykonać następujące czynności:
xs.groupBy(_._1).map(case (k, v) => (k, v.map(_._2)))
Ale to się nie kompiluje.
Przy okazji, możesz użyć 'mapValues'. – incrop
Czy masz przykład? – andyczerwonka
@andyczerwonka Twoją ostatnią linią będzie 'xs.groupBy (_._ 1) .mapValues (v => v.map (_._ 2))' –