2010-02-05 11 views
11

स्कैला में समानांतर में टुपल सदस्यों को असाइन करना संभव है। यदि ऐसा नहीं है तो कुछ ऐसा करने के लिए एक और तकनीक है?स्कैला: ट्यूपल्स के समानांतर असाइनमेंट

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

यदि आपको पता नहीं था कि आप शॉर्ट हैंडेशन नोटेशन का उपयोग कर सकते हैं: players.partition (_। Score> 50) – Schildmeijer

उत्तर

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

Assignes (सूची, सूची) दो चर को टपल। यदि आप टुपल को अनपैक करना चाहते हैं तो आपको

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

जो आप चाहते हैं वही करता है। :-)

+0

उत्कृष्ट धन्यवाद मैलाक्स;) –

+0

+1 इंगित करने के लिए सिंटैक्स के बिना वाक्यविन्यास का अर्थ क्या है। या, बल्कि, अगर मैं एक अतिरिक्त वोट प्रदान करता हूं, तो मैं चाहता हूं। :-) –

+0

मैं सुझाव देता हूं कि, हालांकि, आप टुपल असाइनमेंट कार्य भी इंगित करते हैं क्योंकि यह वास्तव में एक पैटर्न मिलान है। –

संबंधित मुद्दे