द्वारा किसी ऑब्जेक्ट को इंस्टेंट करें I PHP से रूबी में आया था। मैं रूबी में अगली चीज़ कैसे कर सकता हूं? आप एक वर्ग उदाहरण के लिए स्ट्रिंग की तरह है, तोप्रतिबिंब। दिए गए वर्ग का नाम
array_object = "Array".constantize.new
द्वारा किसी ऑब्जेक्ट को इंस्टेंट करें I PHP से रूबी में आया था। मैं रूबी में अगली चीज़ कैसे कर सकता हूं? आप एक वर्ग उदाहरण के लिए स्ट्रिंग की तरह है, तोप्रतिबिंब। दिए गए वर्ग का नाम
array_object = "Array".constantize.new
आप ऐसा कर सकते हैं:
arrayObject = Object::const_get('Array').new
आप निम्न का उपयोग कर सकते हैं अगर आप पर रूबी का उपयोग कर रहे :
a = String
a.new("Geo")
आपको एक स्ट्रिंग देगा। वही बात अन्य वर्गों पर लागू होती है (संख्या & पैरामीटर के प्रकार निश्चित रूप से भिन्न होंगे)।
RoR से समाधान की तरह दिखता है। धन्यवाद! – vooD
यह इंगित करने लायक है कि 'स्थिरता' रेल के सक्रिय समर्थन मॉड्यूल द्वारा रुबी में जोड़ा गया एक मूल विस्तार है यानी यह शुद्ध रूबी नहीं है। –
अच्छा बिंदु जॉन, मैंने अपना जवाब अपडेट कर लिया है। –
:
$className = 'ArrayObject';
$arrayObject = new $className();
हालांकि यह सीधे सवाल का जवाब नहीं देता है, यह एक अच्छा मुद्दा है कि कक्षाएं वस्तुएं हैं, इसलिए आप उन्हें किसी भी अन्य वस्तु की तरह स्टोर कर सकते हैं और यह कई मामलों में बेहतर दृष्टिकोण हो सकता है जहां आप एक स्ट्रिंग का उपयोग करने के लिए लुभाना चाहते हैं एक और भाषा में। – Chuck
कूल! आपका बहुत बहुत धन्यवाद! – vooD