मैं रूबी में सिंगलेट्स के बारे में पढ़ रहा था। मुझे पहले कभी उनका उपयोग करने की ज़रूरत नहीं थी, लेकिन मुझे उत्सुकता मिली और उन्हें देखने का फैसला किया, यह देखने के लिए कि क्या मुझे अतीत में उनका इस्तेमाल करना चाहिए था, या शायद मैं भविष्य में उनका उपयोग कर सकता हूं अगर मुझे पता था कि क्या उनका उपयोग किया जाता है।रुबी में सिंगलटन कक्षाओं का उपयोग करना कब बुद्धिमान है?
केवल बार मैं के बारे में सोच सकते हैं इस का उपयोग करने के लिए है:
- ? जब मुझे एक विशेष वस्तु की आवश्यकता होती है। उदाहरण: "स्मार्ट"
Hash
ऑब्जेक्ट, जो कि कुछ अतिरिक्त क्विर्क के साथ एक सामान्य रूबी हैश की तरह कार्य करता है। - जब मैं इसे बनाना चाहता हूं तो कक्षा का केवल एक उदाहरण मौजूद हो सकता है।
हालांकि, मुझे सच में यकीन नहीं है कि मुझे उपरोक्त में से किसी एक की आवश्यकता है।
क्या आप सिंगलटन क्लास के बारे में बात कर रहे हैं कि प्रत्येक ऑब्जेक्ट में है, या आप सिंगलटन लाइब्रेरी के बारे में बात कर रहे हैं जो आपको कक्षा को केवल एक उदाहरण के साथ एक छद्म-ग्लोबल घोषित करने देता है? – Phrogz
@Phrogz "सिंगलटन लाइब्रेरी के बारे में जो आपको एक छद्म-ग्लोबल क्लास को केवल एक उदाहरण के साथ घोषित करने देता है?" हालांकि, मुझे नहीं पता था कि यह एक पुस्तकालय है? मैंने सोचा कि यह एक अंतर्निहित रूबी सुविधा है। – omninonsense
मैं [इस मॉड्यूल] का जिक्र कर रहा हूं (http://ruby-doc.org/stdlib-1.9.3/libdoc/singleton/rdoc/Singleton.html) जो कि मानक लाइब्रेरी का हिस्सा है, ['singleton_class '] (http://ruby-doc.org/core-1.9.3/Object.html#method-i-singleton_class) और संबंधित [विधियों] (http://ruby-doc.org/core-1.9.3 /Object.html#method-i-singleton_methods) (जो रूबी कोर का हिस्सा है)। – Phrogz