Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scala: Parallel assignment of Tuples

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)
like image 544
BefittingTheorem Avatar asked Feb 05 '10 13:02

BefittingTheorem


1 Answers

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. :-)

like image 170
Malax Avatar answered Sep 30 '22 20:09

Malax