एक मॉड्यूल MyModule
है:रूबी मॉड्यूल - शामिल अंत ब्लॉक करना
module MyModule
extend ActiveSupport::Concern
def first_method
end
def second_method
end
included do
second_class_method
end
module ClassMethods
def first_class_method
end
def second_class_method
end
end
end
कुछ वर्ग include
रों इस मॉड्यूल, यह 2 तरीकों उदाहरण विधियों (first_method
और second_method
) और 2 वर्ग तरीके के रूप में सामने आ रहा होगा जब (first_class_method
और second_class_method
) - यह स्पष्ट है।
यह कहा जाता है, कि
included
ब्लॉक वर्ग कि मॉड्यूल भी शामिल है के संदर्भ में निष्पादित किया जाएगा।
इसका क्या अर्थ है? मतलब, जब यह विधि वास्तव में होगी (second_class_method
) निष्पादित किया जाएगा?
सब कुछ तर्क लगता है, लेकिन फिर भी .. उदाहरण के लिए देखते हैं। क्या होगा यदि 'second_class_method' 'raise' के रूप में लागू किया गया है, जब मैं उठाया गया हूं?", यह कब उठाया जाएगा? –
जैसे ही समवर्ती आपके मॉड्यूल को शामिल करेगा, इसे लगभग तुरंत उठाया जाएगा। यह वास्तव में रूबी कोड पार्सिंग प्रक्रिया का कारण बन जाएगा और दुभाषिया को तुरंत दुर्घटनाग्रस्त कर देगा। आप इसे स्वयं आज़मा सकते हैं। –