का उपयोग कर self.attribute
और @attribute
के माध्यम से किसी उदाहरण विशेषता को एक्सेस करने के बीच अंतर को समझा सकता है?सीधे एक आवृत्ति चर का उपयोग कर एक एक्सेसर विधि
77
A
उत्तर
97
self.attribute
विधि attribute
पर कॉल करता है।
self.attribute = value
तर्क value
के साथ विधि को कॉल करता है।
@attribute
और @attribute = value
आवृत्ति चर @attribute
के मान को प्राप्त/सेट करें।
तो मूल रूप से वे दो पूरी तरह से अलग चीजें हैं।
लेकिन यदि आप attr_accessor :attribute
फोन यह विधि attribute
@attribute
वापस जाने के लिए और विधि attribute=(value)
@attribute = value
स्थापित करने के लिए परिभाषित करता है। तो उस मामले में, कोई फर्क नहीं पड़ता।
1
"तक पहुंचना उदाहरण चर उन्हें सीधे एक्सेसर तरीकों के साथ तक पहुँचने से लगभग दो गुना तेजी से है"
की जाँच करें: http://greyblake.com/blog/2012/09/02/ruby-perfomance-tricks/
संबंधित मुद्दे
- 1. आप एक मिक्सर विधि के भीतर एक आवृत्ति चर का उपयोग कैसे करते हैं?
- 2. क्या एक स्थिर विधि के माध्यम से एक आवृत्ति चर का उपयोग करना संभव है?
- 3. एक आवृत्ति चर क्या है?
- 4. आईओएस जब आवृत्ति चर या गेटर विधि
- 5. एक आवृत्ति विधि में एक स्थिर चर के लिए लिखना, यह एक बुरा अभ्यास क्यों है?
- 6. जावा विरासत ओवरराइडिंग आवृत्ति चर
- 7. एमएसटीएस्ट, MyClassInitialize, और आवृत्ति चर
- 8. copyWithZone सेटिंग आवृत्ति चर?
- 9. थ्रेड-सुरक्षित प्राप्त करें (एक्सेसर विधि)
- 10. जावास्क्रिप्ट, एक स्ट्रिंग का उपयोग कर एक चर का उपयोग कर नाम?
- 11. क्या आवृत्ति चर वैश्विक वैरिएबल चर हैं?
- 12. नियंत्रक में अतिरिक्त आवृत्ति चर शून्य है?
- 13. रेल में, क्या स्थानीय चर या आवृत्ति चर का उपयोग क्रिया विधियों
- 14. jquery लोड विधि का उपयोग कर एक फ़ाइल की सामग्री को चर में कैसे लोड करें?
- 15. एक वर्ग है कि केवल एक बात एक्सेसर
- 16. एक विधि सी # में एक वर्ग के एक सदस्य चर
- 17. जेड में एक चर का उपयोग करें
- 18. क्या मैं एक आवृत्ति विधि के लिए डिफ़ॉल्ट मान के रूप में कक्षा विशेषता का उपयोग कर सकता हूं?
- 19. विधि और चर नाम एक ही
- 20. जावा - क्या गेटर्स और सेटर्स विधि के माध्यम से रचनाकारों में निजी आवृत्ति चर का उपयोग किया जाना चाहिए?
- 21. सीधे एक WebView (Android)
- 22. एक चर एक प्रकार चर
- 23. एक विधि कॉलिंग के रूप में एक एक्सटेंशन विधि यह सीधे बुला
- 24. मेरे नियंत्रक के आवृत्ति चर दृश्यों (रेल)
- 25. एक स्थैतिक विधि में वैश्विक चर
- 26. चर का एक संयोजन
- 27. एक बैश स्क्रिप्ट में एक चर का उपयोग करें
- 28. एक विधि का उपयोग प्रकार विलोपन
- 29. संपत्ति एक्सेसर
- 30. एक एसईडी आदेश में एक चर का उपयोग करें
नोट यह आम तौर पर 'self.' उपयोग करने के लिए (जब तक आप कर रहे हैं की सिफारिश की है कि गेटर/सेटर विधि लिखना) भले ही आप _currently_ में 'attr_accessor' है। यह आपको अतिरिक्त रिफैक्टर काम और बग से बचाता है यदि आप बाद में आवृत्ति विधि को प्राप्त/सेट करने के अलावा अधिक करने के लिए एक्सेसर विधि (ओं) को बदलते हैं। (या यदि कोई और आपके काम को पैच या उप-वर्गीकृत करता है।) – Phrogz
फर्गज़ के बारे में बात करने वाली बग्स में से एक यह है कि अगर आप self.attribute = ______ के बजाय विशेषता = _____ को कॉल करते हैं तो आप आवृत्ति चर के बजाय स्थानीय चर सेट कर रहे हैं। –