रूबी में मेटाप्रोग्रामिंग बहुत अच्छा है क्योंकि मैं लगातार प्रोटोटाइप आधारित प्रोग्रामिंग अनुकरण करने के लिए इसका उपयोग करता हूं और अपनी व्यवहार्यता का परीक्षण करने के लिए कुछ समस्याओं के लिए प्रोटोटाइप समाधान लिखता हूं।रूबी सिंगलटन विधियों (class_eval, define_method) बनाम (example_eval, define_method)
(class << some_object; self; end).class_eval do
define_method(:method_name) do ... method body ... end
end
और
(class << some_object; self; end).instance_eval do
define_method(:method_name) do ... method body ... end
end
कोड के दोनों संस्करणों की एक सिंगलटन विधि को परिभाषित करने और मैं अभी तक नहीं आया है तो मैं अगर वहाँ कोड के निम्न भाग के बीच कोई अंतर नहीं है आवश्यक जानना चाहते हैं किसी भी चीज के खिलाफ जिसने मुझे (instance_eval, define_method)
संयोजन को (class_eval, define_method)
संयोजन पर एक सिंगलटन विधि को परिभाषित करने के लिए मजबूर किया है और मुझे आश्चर्य है कि दोनों के बीच कुछ आवश्यक अंतर है या नहीं।
ध्यान दें कि ऊपर करने के लिए सबसे अच्छा तरीक़ा है 'define_singleton_method (:: METHOD_NAME) करते हैं ... end'
यह ओ के eigenclass पर एक वर्ग विधि है –