11

Is it possible to assign tuple members in parallel in Scala. if not is there another technique to accomplish something similar?

val players = List(
    new Player("Django Reinhardt", 42), 
    new Player("Sol Hoopii", 57),
    new Player("Marc Ribot", 64)
)

val winners, losers = players.partition(p => p.score > 50)

// winners = List(Player name:Sol Hoopii score: 57, Player name:Marc Ribot score: 64)
// losers = List(Player name:Django Reinhardt score: 42)
BefittingTheorem
  • 10,459
  • 15
  • 69
  • 96

1 Answers1

20
val winners, losers = players.partition(p => p.score > 50)

Assignes the (List, List) tuple to two variables. If you want to unpack the tuple you have to use

val (winners, losers) = players.partition(p => p.score > 50)

Which does exactly what you want. :-)

Malax
  • 9,436
  • 9
  • 48
  • 64