2009-08-01 13 views
17

मैं जावा लाइब्रेरी (कोई स्रोत कोड उपलब्ध नहीं) का उपयोग करने की कोशिश कर रहा हूं जो कुछ xxx.xxx.object पैकेज को परिभाषित करता है। स्कैला पैकेज नाम में "ऑब्जेक्ट" की उपस्थिति के बारे में शिकायत करता है, इसलिए मैं इससे आयात नहीं कर सकता, और मैं इसके वर्गों को पूरी तरह से योग्य नाम के साथ संदर्भित नहीं कर सकता।स्कैला: पैकेज नाम के रूप में कीवर्ड

क्या इसके आसपास कोई रास्ता है?

उत्तर

28

ऑब्जेक्ट को लपेटना '(1 के बगल में उद्धरण) में काम करना चाहिए।

xxx.xxx.`object` 
+1

मैं 2.8.1.final में देख रहा हूँ कि यह अभी भी कंसोल में आप मदद नहीं करता है - आरईपीएल कोड में शायद एक बग। आयात ठीक काम करता है, लेकिन आपके द्वारा आयात किए गए प्रतीकों में से एक का उपयोग करने का प्रयास करें और स्पष्ट रूप से कुछ पृष्ठभूमि में बच निकला नहीं है। – spieden

24

पूरा करने के लिए agilefall के answer, Scala Language Specification कहा गया है कि एक आयात id से बना है:

id ::= plainid 
| ‘\`’ stringLit ‘\`’ 

एक पहचानकर्ता भी बैक-उद्धरण के बीच स्वेच्छाचारी स्ट्रिंग (मेजबान द्वारा गठित किया जा सकता है सिस्टम कुछ प्रतिबंध लगा सकते हैं जिन पर तार पहचानकर्ताओं के लिए कानूनी हैं)। पहचानकर्ता तब बैकक्वॉट को छोड़कर सभी पात्रों से बना है।

बैकक्वॉट-संलग्न तार एक समाधान है जब किसी को जावा पहचानकर्ताओं तक पहुंचने की आवश्यकता होती है जो स्कैला में आरक्षित शब्द हैं।
उदाहरण के लिए, Thread.yield() कथन अवैध है, क्योंकि yield स्कैला में एक आरक्षित शब्द है। हालांकि, यहां एक काम के आसपास है:

Thread.`yield`() 
+0

धन्यवाद ... पूरक जानकारी के लिए +1 –

+0

क्या इसके लिए "बैक = कोट संलग्न स्ट्रिंग्स" के अलावा इसके लिए कोई और आधिकारिक नाम है? # स्काला पर किसी ने "बैकटिक्लिंग" का उल्लेख किया, लेकिन मुझे Google में यह नहीं मिला। –

+0

@ एंटनी स्टबब्स "स्कैला में प्रोग्रामिंग" का भी उल्लेख है "बैक टिक्स" (उदाहरण के लिए शाब्दिक के लिए) – VonC

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