में नामित कक्षाओं को गतिशील रूप से परिभाषित करें मैं रूबी में एक आंतरिक डीएसएल लिख रहा हूं। इसके लिए, मुझे प्रोग्रामेटिक रूप से नामित कक्षाएं और नेस्टेड कक्षाएं बनाने की आवश्यकता है। ऐसा करने का सबसे अच्छा तरीका क्या है? मैं टोह वहाँ ऐसा करने के दो तरीके हैं कि:रुबी
- उपयोग
Class.new
, एक गुमनाम वर्ग बनाने के लिए तो यह करने के तरीकों को जोड़ने के लिएdefine_method
उपयोग करते हैं, और अंत में उन्हें कुछ नाम स्थान के लिए नामित स्थिरांक के रूप में जोड़ने के लिएconst_set
कहते हैं। - की
eval
मैं पहली बार जिस तरह से परीक्षण किया है किसी प्रकार का उपयोग करें और यह काम किया, लेकिन रूबी के लिए नया किया जा रहा है, मुझे यकीन है कि स्थिरांक के रूप में कक्षाएं लगाने सही तरीका है नहीं कर रहा हूँ।
क्या अन्य, बेहतर तरीके हैं? यदि नहीं, तो उपरोक्त में से कौन सा बेहतर है?
'eval' जिससे बचना है। http://stackoverflow.com/questions/637421/is-eval-supposed-to-be-nasty –