में इंस्टेंस वैरिएबल प्रारंभिकरण मुझे लगता है कि रूबी में इंस्टेंस चर को समझने की कोशिश करते समय मैं थोड़ा पागल हो रहा हूं। मेरा एकमात्र उद्देश्य यह सुनिश्चित करना है कि किसी दिए गए वर्ग के लिए बनाए गए प्रत्येक ऑब्जेक्ट में एक पूर्व निर्धारित मान के साथ बिना किसी वर्ग के initialize
विधि लिखने के साथ एक चर है। की तरह कुछ:रूबी
class Test
@my = []
attr_accessor :my
end
t = Test.new
t.my # I want [] but this shows nil
यह initialize
बिना छुए इस लक्ष्य को हासिल करना संभव है? धन्यवाद।
संपादित करें: स्पष्ट करने के लिए, मैं कोड है जो अर्थ में attr_accessor
के समान निष्पादित किया जाएगा कि यह वर्ग है जिसमें यह क्रियान्वित किया जाता है करने के लिए एक उदाहरण चर जोड़ देंगे से कुछ टुकड़ा लिख रहा हूँ। अगर मैं अपना खुद का initialize
लिखता हूं, तो मैं उपयोगकर्ता द्वारा लिखे गए एक को क्लॉबरिंग कर दूंगा।
कृपया संपादित करें देखें। – sasuke
मेरा बुरा, मैंने कहा "इसी तरह"। असल में, इस नई विधि, जिसे किसी भी वर्ग में जोड़ा गया है, जैसे 'attr_accessor', उस वर्ग के लिए बनाए गए सभी ऑब्जेक्ट्स में एक नया इंस्टेंस वैरिएबल जोड़ देगा। – sasuke
आह, जैसा कि मैंने सोचा था, मैं इस तरह के गुणों के लिए डिफ़ॉल्ट 'attr_reader' पर भरोसा नहीं कर सकता। सिर्फ एक आखिरी सवाल: रुबी में जावा इत्यादि के तरीके के साथ इंस्टेंस वैरिएबल को शुरू करने का कोई तरीका नहीं है? – sasuke