स्काला भाषा आप इसे उपयोग करने से पहले अपने उदाहरण चर प्रारंभ की आवश्यकता है। हालांकि, स्कैला आपके चर के लिए डिफ़ॉल्ट मान प्रदान नहीं करता है। इसके बजाय, आप वाइल्डकार्ड अंडरस्कोर, जिसका कोई डिफ़ॉल्ट मान की तरह काम करता का उपयोग करके स्वयं अपने मूल्य स्थापित करने के लिए है के रूप में इसक्यों स्काला भाषा आप के बजाय एक डिफ़ॉल्ट मान पर भरोसा करने की एक उदाहरण चर को प्रारंभ करने की आवश्यकता होती है?
var name:String = _
मुझे पता है, मुझे पता है ... मैं वर्ग परिभाषा एक निर्माता परिभाषित कर सकते हैं, जो पैरामीटर हमारे उदाहरण चर के रूप में लेता है, तो के रूप में नीचे
class Person(var name:String)
हालांकि पता चला स्काला इसके प्रारंभ के लिए मजबूर नहीं करता है, मैं शरीर में यह घोषणा करने की जरूरत है क्योंकि मैं एक जावा एनोटेशन जिसका elementType क्षेत्र या विधि है उपयोग करने के लिए की जरूरत है; यानी, यह केवल हमारे वर्ग के शरीर में घोषित एक आवृत्ति चर या विधि पर लागू किया जा सकता है।
प्रश्न: क्यों स्काला भाषा आप एक उदाहरण चर को प्रारंभ करने की आवश्यकता होती है - के बजाय एक डिफ़ॉल्ट मान पर निर्भर के एक वर्ग के शरीर में घोषित - यह एक डिफ़ॉल्ट मान _ या जो भी आप चाहते हो सकता है?
मार्टिन की वरीयता मेरा अनुमान होगा :-) कम से कम यह स्पष्ट है और अतिरिक्त 2 वर्ण (रिक्त स्थान के साथ 4) बहुत मुश्किल नहीं हैं। ऐसा लगता है कि जावा (एक बहुत * verbose * भाषा) असाइनमेंट को छोड़ दिया जाता है। साथ ही, यह "कन्स्ट्रक्टर तर्क" कहने के लिए भ्रामक लगता है (जो उन्हें वास्तव में बुलाया जाता है: - /) को प्रारंभ करने के लिए मजबूर नहीं किया जाता है - वे निश्चित रूप से तब होते हैं जब ऑब्जेक्ट तत्काल होता है। –