2013-08-22 4 views
12

के लिए कोड निष्पादित करें माता-पिता वर्ग को देखते हुए लोड पर प्रत्येक सबक्लास के लिए कोड डालने का कोई तरीका है? अर्थात।रूबी: प्रत्येक सबक्लास

को देखते हुए: ParentClass, मैं कैसे इतना की तरह कोड डालने करते हैं:

class ChildClass < ParentClass 
    execute_function 

    ... 
end 
ParentClass के सभी बच्चे कक्षाओं के लिए

?

+0

उन वर्गों को पहले से ही लोड किए गए हैं क्या है? यह कोड क्या करना चाहिए? –

+0

@SergioTulentsev Err, यदि उसके माता-पिता को लोड नहीं किया गया है तो कक्षा को कैसे लोड किया जा सकता है? – meagar

+0

@ मीगर: देर रात है और मैं मूर्ख सवाल पूछ रहा हूं :) –

उत्तर

13

में ParentClass विरासत में मिला विधि ओवरराइड

class ParentClass 
    def self.inherited(subclass) 
     execute_function 
     super 
    end 
    ... 
end 

देखें: http://ruby-doc.org/core-2.0/Class.html#method-i-inherited

+0

वाह ... इस के लिए बहुत समय बिताया। सुरक्षा के लिए 'सुपर (सबक्लास)' का उपयोग करना सही होगा? – s12chung

+2

आप कर सकते हैं लेकिन इसकी आवश्यकता नहीं है। बिना किसी तर्क के 'सुपर' एक ही तर्क के साथ मूल नाम में समान नाम के साथ विधि को कॉल करेगा। – kristenmills

+0

वाह। धन्यवाद! मुझे यह नहीं पता था कि एक या तो :) – s12chung

संबंधित मुद्दे