2010-02-05 25 views
11

Scala'da paralel olarak tuple üyeleri atamak mümkün mü? değilse, benzer bir şeyi başarmak için başka bir teknik var mı?Scala: Paralel atanması Tuple

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) 
+0

Eğer bilmiyorsanız kısa el gösterimini kullanabilirsiniz: players.partition (_. Skor> 50) – Schildmeijer

cevap

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

Assignes (Liste, Liste) iki değişken için tanımlama grubu. Tuple'ı açmak isterseniz, tam olarak ne istediğinizi yapmalısınız. :-)

+0

Mükemmel teşekkürler Malax;) –

+0

+1 parantez olmadan sözdiziminin ne anlama geldiğini belirtmek içindir. Ya da, bir ek oy verirsem, yapardım. :-) –

+0

Yine de, bir desen eşleşmesi olduğundan, tuple atama çalışmalarına dikkat çekmenizi öneririm. –