मैं इस चेतावनी का लाभ उठाना चाहता हूं कि मिलान मिलान होने पर स्कैला के मुद्दे ("पूर्ण नहीं है) - ताकि मैं एक को भूल न सकूं (मेरे पास दर्जनों हैं)। निम्नलिखित सरलीकृत उदाहरण मेरा प्रयास दिखाता है:स्कैला पैटर्न मिलान कह रहा है "मैच संपूर्ण नहीं है!"
sealed case class MESSAGE()
class SUCCESS_MESSAGE extends MESSAGE
class FAILURE_MESSAGE extends MESSAGE
def log(str: String, msgType: MESSAGE) {
msgType match {
case t:SUCCESS_MESSAGE => println("FAILURE: " + str)
case t:FAILURE_MESSAGE => println("SUCCESS: " + str)
}
}
समस्या यह है कि यह कहता है कि "मैच पूर्ण नहीं है!" हालांकि सभी संभावित संयोजन सूचीबद्ध हैं। मैं डाल चाहते हैं तो "मामले _ =>" वहाँ में, चेतावनी के पूरे मुद्दे मेरे लिए अवैध है क्योंकि मैं
class INFO_MESSAGE extends MESSAGE
जोड़ सकता है और कोई चेतावनी जारी की जाएगी।
क्या कोई समाधान है?
SUCCESS_MESSAGE प्रिंट चाहिए "विफलता:", तुम काफी यकीन कर रहे हैं? –
मैं किसी भी परिस्थिति में केस क्लास को विस्तारित करने की अत्यधिक अनुशंसा करता हूं। सिर्फ आपकी जानकारी के लिए। – jsuereth