अन्य भाषाओं में case
कीवर्ड का प्राथमिक उपयोग switch
-statements जो ज्यादातर enum
या इस तरह के रूप तुलनीय मूल्यों पर उपयोग किया जाता है में है int
या string
अलग अच्छी तरह से परिभाषित मामलों का प्रतिनिधित्व किया जा रहा:
switch (value)
{
case 1: // do x -
case 2: // do y -
default: // optional
}
स्केला में इन कक्षाओं में अक्सर एक अमूर्त वर्ग के विशिष्ट अच्छी तरह से परिभाषित संभव उदाहरणों का प्रतिनिधित्व करते हैं और उसी तरह जरूरी कोड में उपयोग किया जाता है यू सत्र match
-clauses भीतर स्विच बयान: इस तरह के तरीके के रूप में
value match {
case Expr(lhs, rhs) => // do x
case Atomic(a) => // do y
case _ => // optional, but will throw exception if something cannot be matched whereas switch won't
}
मामले वर्गों के व्यवहार की ज्यादातर वे सुविधाजनक बनाने/इस तरह के बयानों में उनके उपयोग को सक्षम करने के उद्देश्य का निर्माण किया जा सकता है।
मुझे मुख्य रूप से लगता है क्योंकि उन्हें _pattern मिलान_ अभिव्यक्तियों में पैटर्न के रूप में उपयोग किया जा सकता है, उदा। 'myVal मैच {केस MyCaseClass (ए, बी) => ...} ', जहां प्रत्येक केस क्लास एक अलग _case _... –
जो भी करीब के लिए मतदान करता है: मुझे नहीं लगता कि यह प्रश्न बहुत व्यापक है। – pedrofurla
जाहिर है, एक केस क्लास डेटा फ़ील्ड का एक कंटेनर है, जिस तरह सूटकेस सूट का कंटेनर है। –