2011-08-08 14 views
5

जैसा कि मैं समझता हूं, स्कैला stdlib से नक्शा घोषित करना इसे प्राचीन प्रकार के विशेषज्ञ नहीं है। जो मैं खोज रहा हूं वह मुक्केबाजी/अनबॉक्सिंग की कीमत का भुगतान नहीं करना है, लेकिन साथ ही स्कैला मानचित्रों का इंटरफ़ेस भी है। ट्रोव मानचित्रों का उपयोग करना एक स्पष्ट विकल्प होगा, लेकिन मुझे विश्वास नहीं है कि स्कैला विचार हैं। किसी भी मदद की सराहना की।आदिम प्रकारों के साथ स्कैला नक्शा मूल्य प्रकार

+0

आपको कुंजी या मूल्यों में आदिम प्रकार की आवश्यकता है? विभिन्न कार्यान्वयन ... – PhiLho

+0

मूल्यों के लिए। हालांकि दोनों समाधानों को जानना वास्तव में अच्छा होगा। – venechka

उत्तर

4

यह वर्तमान में असंभव है क्योंकि इंटरफ़ेस विशिष्ट नहीं है। इसका मतलब यह है कि आप संग्रह में जो भी करते हैं उसके बावजूद, इंटरफ़ेस के माध्यम से उन्हें प्राप्त करने के लिए मूल्यों को बॉक्स किया जाएगा।

इस समय कोई विशेष रूप से संतोषजनक विकल्प नहीं हैं; उन मामलों के लिए स्काला संग्रह में कुछ अंतर्निहित रूपांतरणों के साथ ट्रोव का उपयोग करना जहां प्रदर्शन की तुलना में सुविधा अधिक महत्वपूर्ण है, शायद आपको सबसे अच्छा मिलेगा।

(मैंने खुद को इस स्थिति का समाधान करने की कोशिश की है, और यह प्रमाणित कर सकता है कि कंपाइलर में विशेषज्ञता समर्थन की वर्तमान स्थिति को आसान नहीं है; मौजूदा पुस्तकालय का विशेषज्ञता अभी व्यावहारिक नहीं है, और अपना खुद का बनाना मुश्किल है सबसे अच्छा। उम्मीद है कि भविष्य के संस्करण यहां चीजों को बेहतर बनाएंगे, लेकिन यह अभी आपके लिए बहुत अधिक उपयोग नहीं है।)

+0

आपके उत्तर के लिए धन्यवाद। संग्रहों को विशेषज्ञ बनाने की कोशिश में आपके द्वारा चलाए गए कुछ महत्वपूर्ण कठिनाइयों क्या हैं? मुझे आपके द्वारा रिपोर्ट की गई कई विशेषताओं की बग दिखाई देती हैं (https://issues.scala-lang.org/secure/ViewProfile.jspa?name=ichoran), मैं सोच रहा था कि शायद उन्हें स्कैला टीम के लिए प्राथमिकता दी जानी चाहिए? –

+0

@ किपटन बैरस - उन बग्स, और अन्य जो कि मेरी रिपोर्ट से पहले सूचीबद्ध थे, ने समस्याएं पैदा की हैं। इसके अलावा, कोड आकार में विस्फोट चिंताजनक है। और फिर यह मुद्दा है कि कुछ प्रकार के संयोजन उपयोगी होते हैं जबकि अन्य बहुत कम मूल्यवान होते हैं, लेकिन उन्हें चुनने का कोई तरीका नहीं है (उदाहरण के लिए यदि आपके पास तीन प्रकार हैं, तो आप एक लंबे समय के साथ दो इंट्स के हर संयोजन को विशेषज्ञ बनाना चाहते हैं, 3 संभावनाएं, लेकिन आपको वर्तमान में सभी 8 विशेषज्ञों की आवश्यकता है)। –

संबंधित मुद्दे