2009-03-26 6 views
37

मैं स्केल प्लगइन के साथ इंटेलिजे आईडीईए का उपयोग कर रहा हूं। मैं कोड में HashMap संदर्भ, और उसके बाद का उपयोग करते हैं आयात जोड़ने के लिए Alt-दर्ज करें, पैकेज आयात होता है के रूप में:स्कैला में _root_ पैकेज क्या है?

_root_.scala.collection.immutable.HashMap 

इस के जड़ हिस्सा क्या है? ऐसा लगता है कि इसके साथ और इसके बिना काम करता है।

उत्तर

40

इसे स्केल आयात को सापेक्ष होने के लिए करना है - _root_ आपको एक पूर्ण पैकेज नाम निर्दिष्ट करने का एक तरीका देता है। Scala Wiki

5

आपको केवल तभी इसकी आवश्यकता होगी यदि आपके वर्तमान पैकेज में आपके पास नेस्टेड पैकेज scala.collection.immutable हैश मैप युक्त है। इसे _root_ भाग के बिना एक सापेक्ष आयात द्वारा प्राथमिकता दी जाएगी।

संपादित करें: यह बिल्कुल सही नहीं था, यदि आपके पास एक पैकेजर या वर्तमान पैकेज में घोंसला पैकेज है तो समस्याएं पहले से शुरू हो रही हैं।

5

स्काला भाषा विनिर्देश इस खंड में _root_ के बारे में 9.4 पैकेज संदर्भ

विशेष prede फाई नेड नाम _root_ सबसे बाहरी जड़ पैकेज है जो सभी शीर्ष स्तर के संकुल में शामिल है को संदर्भित करता है क्या कहना है।

पूर्ण भाषा संदर्भ के लिए निम्नलिखित पीडीएफ देखें: http://www.scala-lang.org/docu/files/ScalaReference.pdf