Ruby class question -


संभव डुप्लिकेट:

मेरे पास एक त्वरित रूबी प्रश्न है मैं एक जावा / सी पृष्ठभूमि से आया हूं, इसलिए मैं रूबी "स्व" में समझता हूं जब एक उदाहरण पद्धति के अंदर संदर्भित किया जाता है जैसे "यह"। और "स्वयं।" विधि के लिए उपसर्ग इसे एक क्लास विधि के रूप में परिभाषित करता है।

लेकिन इसका यहां क्या अर्थ है ??

  class & lt; & lt; Self def some_method समाप्ति अंत  

यहाँ क्या हो रहा है कि हम एक ऑब्जेक्ट के वर्ग को फिर से खोल रहे हैं अपने भीतर से और उस पर एक नई उदाहरण विधि को परिभाषित करते हुए यह एक तरीका है जिसे आप रूबी में तथाकथित "बंदर-पैचिंग" कर सकते हैं। यह विधि केवल कक्षा के सभी ऑब्जेक्ट्स के बजाय मौजूदा ऑब्जेक्ट को ही जोड़ती है।

यह ऐसा करने के बराबर है:

  my_obj = MyClass.new class & lt; & lt ; My_obj def some_method अंत # या ... def my_obj.some_method समाप्ति  

यहाँ एक अच्छा लेख है जो इसे कवर करता है:।


Comments

Popular posts from this blog

c# - sqlDecimal to decimal clr stored procedure Unable to cast object of type 'System.Data.SqlTypes.SqlDecimal' to type 'System.IConvertible' -

Calling GetGUIThreadInfo from Outlook VBA -

Obfuscating Python code? -