स्केला स्रोत में मैंने पाया है के रूप में परिभाषित किया गया है?क्यों `` Nil` मामले object`
मैंने पाया इस सवाल [Difference between case object and object] उपयोगी है, और मुझे लगता है कि इस कारण से कुंजी है:
डिफ़ॉल्ट क्रमबद्धता
की वजह से हम अक्सर एक और अभिनेता के लिए डेटा की सूची भेजने के कार्यान्वयन, तो नील serializable होना चाहिए, है ना?
प्रदान की जवाब (धन्यवाद) के साथ, मैं यह सत्यापित करने के लिए कुछ कोड लिखने की कोशिश:
trait MyList[+T]
object MyNil extends MyList[Nothing]
val list: MyList[String] = MyNil
list match {
case MyNil => println("### is nil")
case _ => println("### other list")
}
आप देख सकते हैं MyNil
case object
नहीं है, लेकिन मैं अभी भी पैटर्न मिलान में इसका इस्तेमाल कर सकते हैं। यहां आउटपुट है:
### is nil
क्या मैं कुछ गलत समझता हूं?