scala - Meaning of strange class name from an object -
ऑब्जेक्ट इनिशियलाइजेशन {डीईफ़ मुख्य (आर्ग्स: ऐरे [स्ट्रिंग]): यूनिट = {val सूची = ट्रैवर्सबल (1 , 2,4,5) //list.foreach (println) println (list.getClass.getSimpleName)}} यह $ colon $ colon प्रिंट करता है, लेकिन मुझे सूची की तरह कुछ उम्मीद थी यह अस्पष्ट नाम क्या है?
ऐसा इसलिए है क्योंकि एक मुहरबंद सुपर वर्ग है जो कि मामला वर्ग और ऑब्जेक्ट पर है ( सूची प्रलेखन के तहत ज्ञात उपवर्ग अनुभाग देखें)। :: को विपक्ष , सबसे पारंपरिक कार्यात्मक प्रोग्रामिंग भाषाओं में सूची विपक्ष ऑपरेटर के नाम पर रखा गया है। चूंकि आपकी सूची का सिर वास्तव में है :: मामला वर्ग का एक उदाहरण है, और स्काला ने जेएमवी पर गैर-शब्द वर्ग के नामों का प्रतिनिधित्व करने के लिए नाम संगति का प्रयोग किया है, आप $ colon $ colon जब आप नाम प्राप्त करने के लिए प्रतिबिंब का उपयोग करते हैं। अपडेट: मुझे बिल्कुल यकीन नहीं है कि आप किस वर्ग के नाम का उपयोग करने का प्रयास कर रहे हैं, लेकिन आप इसके बजाय उपयोग करें यह कुछ भी विस्तार के लिए परिभाषित है, जो हर स्काला संग्रहण प्रकार का होगा। यदि आप कक्षा के नाम के साथ नियंत्रण प्रवाह को करने की कोशिश कर रहे हैं, तो आपको शायद कुछ और प्रयास करना चाहिए। पैटर्न मिलान अच्छी तरह से काम करेगा, उदा।:
एक्सस मैच {सूची: सूची [_] = & gt; // सूची सूची सामान सेट: सेट करें [_] = & gt; // सेट सामान}
Comments
Post a Comment