मैं लूप और पैटर्न मिलान के आधार पर विभिन्न केस क्लास ऑब्जेक्ट्स की एक सूची बना रहा हूं। मैं डिफॉल्ट केस (अनिवार्य रूप से सूची फ़िल्टर करना, और एक चरण में टाइप करने के लिए मानचित्रण) को मारने वाले आइटम को छोड़ना (छोड़ना) चाहता हूं।केवल अगर पैटर्न मिलान
मैं संभवतः सभी संभावनाओं को देखने के लिए स्कैला के लिए बहुत नया हूं। मेरे प्रयास:
val events = for (ev <- data) yield {
ev.sport match {
case "FOOTBALL" => new FootballEvent(ev)
case "SOCCER" => new SoccerEvent(ev)
case _ => None
}
}
मैं बाद में सूची को फ़िल्टर कर सकता है, लेकिन मैं वहाँ संदेह है :) यह कर के कुछ फैंसी स्काला रास्ता
कृपया मुझे पता है अगर तुम यह कैसे सबसे अच्छा किया जाना चाहिए के किसी भी विचार है चलो !
यदि तीन या अधिक के बजाय केवल दो मामले हैं, तो यह एक 'के लिए ... उपज' में किया जा सकता है - यहां एक उदाहरण है: '{{(x) <- कुछ (कोई नहीं: विकल्प [स्ट्रिंग])} उपज "यहां नहीं मिलनी चाहिए" ' –