समान प्रश्न: Convert match statement to partial function when foreach is used के साथ। अब इसी तरह, इंटेलिजे ने मुझे अपना कोड सुधारने के लिए कहा है। अंतर यह है, कि मैं मिलान के लिए मान का उपयोग करें:स्कैला: मैच स्टेटमेंट को पैटर्न मिलान करने वाले अज्ञात फ़ंक्शन में कनवर्ट करें - मान
val matchMe = "Foo"
keys.foreach(key =>
key match {
case `matchMe` => somethingSpecial()
case _ => somethingNormal(key, calcWith(key))
})
एक गुमनाम पैटर्न मिलान समारोह को यह Refactoring कुछ ऐसा दिखाई देगा:
keys.foreach {
case `matchMe` => somethingSpecial(_)
case _ => somethingNormal(_, calcWith(_)) //this doesn't work
}
ध्यान दें कि दूसरे मामले में, मैं उपयोग नहीं कर सकते _
क्योंकि मुझे इसे दो बार चाहिए। क्या यहां अज्ञात पैटर्न-मिलान करने वाले फ़ंक्शन का उपयोग करने का कोई तरीका है?
'एफ (_)' x => f (x) 'है। और 'केएस foreach {case _ => f (_)}' 'ks foreach {case x => f (x)}' 'है। –
अरे। वास्तव में मेरे लिए नया नहीं है .. धन्यवाद बहुत मार्थ! –