class<<self
एक लाल हेरिंग प्रतीत होता है, क्योंकि यहां एकमात्र अंतर एक मॉड्यूल बनाम एक वर्ग है। शायद आप पूछ रहे हैं "मैं एक ऐसा ऑब्जेक्ट बनाना चाहता हूं जिसे मैं तत्काल करने का इरादा नहीं रखता, लेकिन जो कुछ तरीकों के लिए नामस्थान के रूप में मौजूद है (और संभवतया एक सिंगलटन, अपने स्वयं के, वैश्विक, राज्य के साथ)।"
यदि ऐसा है, तो दोनों समान रूप से अच्छी तरह से कार्य करेंगे।
module Helper
module OwnMethods
# Put methods here instead of class << self
end
extend OwnMethods
end
module Variation
extend Helper::OwnMethods
की
class Variation < Helper
बजाय: अगर कोई मौका आप एक व्युत्पन्न (किसी अन्य वस्तु एक ही तरीके का उत्तराधिकारी) बनाने के लिए चाहते हो सकता है कि के रूप में यह थोड़ा आसान है लिखने के लिए तो आप एक वर्ग का उपयोग करना चाहिए है
हालांकि, केवल नामस्थान के लिए मैं आमतौर पर कक्षा में एक मॉड्यूल का उपयोग करता हूं, क्योंकि एक वर्ग का तात्पर्य है कि तत्कालता उत्पन्न होगी।
उनमें से एक के मुकाबले एक अतिरिक्त पत्र है? :) "क्या कोई अंतर है" से आपका क्या मतलब है? एक वर्ग है, एक मॉड्यूल है, और दोनों में आप eigenclass में प्रवेश कर रहे हैं। – Phrogz
मुझे लगता है कि मेरा मतलब है, आप दूसरे पर एक का उपयोग कब करेंगे। मैंने इसे प्रतिबिंबित करने के लिए प्रश्न संपादित किया। –