के लिए प्रतिबिंब API क्या किसी को स्कैला के लिए पूरी तरह से विशेष रुप से प्रदर्शित प्रतिबिंब API की स्थिति पता है?स्कैला
मुझे पता है कि आप सरल चीजों को करने के लिए जावा के प्रतिबिंब एपीआई का उपयोग कर सकते हैं लेकिन यह स्कैला की भाषा सुविधाओं के साथ अच्छी तरह से काम नहीं करता है। मुझे एक प्रयोगात्मक स्कैला मिररिंग एपीआई का वर्णन करने वाला interesting article मिला लेकिन जहां तक मुझे पता है कि यह अभी भी प्रयोगात्मक है। मुझे स्कैलासिग पार्सर का भी उल्लेख मिला है लेकिन यह बहुत कम स्तर लगता है।
यह किसी और चीज की तुलना में जिज्ञासा से अधिक है क्योंकि मैं वर्तमान में केवल स्कैला के साथ खेल रहा हूं। मैंने सोचा कि इस सवाल का जवाब स्कैला में दिलचस्पी रखने वालों के लिए भी उपयोगी हो सकता है।
क्या आप प्रतिबिंबित करना चाहते हैं इसके बारे में अधिक विशिष्ट हो सकते हैं? आप नाम-मैंगलिंग में मदद के लिए scala.tools.nsc में रूटीन का उपयोग कर सकते हैं, और कुछ चीजें बस अच्छी तरह से प्रतिबिंबित नहीं होती हैं - आपको वास्तव में मदद करने के लिए संकलन की आवश्यकता होती है क्योंकि वे केवल मौजूदा तरीकों को कॉल करने की बात नहीं हैं (उदाहरण के लिए यदि आपको एक नया बंद करने की आवश्यकता है)। –
सबसे पहले, मैं सोच रहा था कि नामित पैरामीटर वाले वर्गों के उदाहरण बनाना अच्छा होगा जैसे कि आपको पैरामीटर के क्रम के बारे में चिंता करने की ज़रूरत नहीं है - यह जावाबीन शैली पैटर्न के लिए एक अपरिवर्तनीय प्रतिस्थापन हो सकता है। मैं यह भी सोच रहा था कि कक्षा की संरचना को देखने में सक्षम होना अच्छा होगा क्योंकि यह स्कैला सुविधाओं से संबंधित है। अर्थात। मुझे सभी सीटीओ प्राप्त करें - प्राथमिक खोजें - इसे कॉल करें। या प्रश्नों का उत्तर दें जैसे यह क्षेत्र एक वैल या var है। इसके अलावा जावा के एपीआई पर वापस आने के बजाए मुहावरेदार स्कैला शैली में किए गए प्रतिबिंब एपीआई का उपयोग करना अच्छा होगा। बस विचार .. –
मैं कुछ अधिक गतिशील मेटाप्रोग्रामिंग सुविधाओं के बारे में सोच नहीं रहा था जैसे रनटाइम या eval शैली विवरणों में विधियों को जोड़ना - जावा प्रतिबिंब एपीआई आपको स्केल भाषा के लिए अनुकूलित करने की अनुमति देता है। –