आम तौर पर, जब आप लाइब्रेरी क्लास के स्रोत कोड में throw new Error()
देखते हैं, तो यह उस बिंदु का प्रतिनिधित्व करता है जहां संकलक प्लेटफ़ॉर्म की सुविधा पर ब्रिजिंग करके विधि को हस्तक्षेप और कार्यान्वित कर रहा है (याद रखें कि यह जावा या .NET हो सकता है) ।
Array SID बताता है कि स्केल 2.7.x में सरणी का इलाज कैसे किया जाता है, और वे 2.8 में कैसे बदल गए हैं। अगर आप map
कहलाते हैं तो संकलक को ऑब्जेक्ट को BoxedArray
पर जादुई रूप से परिवर्तित करने के लिए उपयोग किया जाता है। अंतर्निहित रूपांतरण Array[T]
से WrappedArray[T]
या ArraySeq[T]
को संदर्भ के आधार पर, और प्रकार Manifest[T]
की अंतर्निहित मानकों के निर्माण का समर्थन करने के -
2.8 में, स्काला संग्रह ढांचे में सरणी के एकीकरण काफी हद तक सामान्य भाषाओं सुविधाओं के उपयोग के साथ नियंत्रित किया जाता है एक सामान्य प्रकार के arrays T
। ऐरे indexing, length और update अभी भी throw new Error()
के रूप में दिखाई देते हैं। Array#map
अब मौजूद नहीं है, इसके बजाय आपको यह नियमित विधि के रूप में WrappedArray
और ArraySeq
पर मिलता है।
अद्यतन
आप इस संकलक जादू पता करने के लिए रुचि रखते परिभाषित किया गया है कर रहे हैं, Cleanup.scala की स्काला 2.8 अवतार पर एक नज़र डालें।
"मूल" के समान? जावा में, मेरा मतलब है, जैसे ... * अरे, चिंता न करें, मुझे पता है कि नीचे क्या करना है? * – OscarRyz
यह मेरा अनुमान होगा, हालांकि मुझे यकीन नहीं है। – pdbartlett