मेरा एक दो हिस्सा है
सर्वश्रेष्ठ प्रणालियां
- मेरे पास एक एल्गोरिथ्म है जो सार्वजनिक इंटरफ़ेस का उपयोग करके डेटा संरचना पर कुछ ऑपरेशन करता है
- यह वर्तमान में एक सार्वजनिक इंटरफ़ेस विधि को छोड़कर, सभी कई स्थिर विधियों के साथ एक मॉड्यूल है।
- एक उदाहरण चर है जिसे सभी तरीकों के बीच साझा करने की आवश्यकता है।
ये वे विकल्प हैं जो मैं देख सकता हूं, जो सबसे अच्छा है ?:
- मॉड्यूल स्थिर (माणिक में 'मॉड्यूल') के साथ तरीकों
- स्थिर विधियों के साथ कक्षा
- डेटा संरचना में शामिल करने के लिए मिक्सिन मॉड्यूल
- उस डेटा संरचना को संशोधित करने वाले एल्गोरिथम के भाग को रिफलेक्टर करता है (बहुत छोटा) और ऐसा मिश्रण बनाता है जो एल्गोरिथम मॉड्यूल के स्थिर तरीकों को कॉल करता है
तकनीकी हिस्सा है
क्या एक निजी मॉड्यूल विधि बनाने का कोई तरीका है ?
module Thing
def self.pub; puts "Public method"; end
private
def self.priv; puts "Private method"; end
end
private
वहाँ में कोई असर दिखाई नहीं देता मैं अभी भी कॉल कर सकते हैं, Thing.priv
इस मुद्दे के बिना।
private
केवल उदाहरण के तरीकों को प्रभावित करता है, वर्ग के तरीकों को नहीं। private_class_method
इसके बजाय का उपयोग करें :module Thing; def self.pub; end; private_class_method :pub; end