मैं प्रत्येक के सामने एक ही गार्ड के साथ कई केस स्टेटमेंट करना चाहता हूं। क्या मैं इसे ऐसे तरीके से कर सकता हूं जिसके लिए कोड डुप्लिकेशन की आवश्यकता नहीं है?स्कैला पैटर्न मिलान डिफ़ॉल्ट गार्ड
class If {
def unapply(s: Any) = if (variable) Some(s) else None
}
object If extends If
"something" match {
case If("a") => println("a")
case If("b") => println("b")
// ...
}
क्या आप कोड को शाखाओं में तोड़ सकते हैं? तो "अगर परिवर्तनीय" खींचें और आपके अंदर मौजूद किसी अन्य शाखा के लिए मिलान करें? – aishwarya