मुझे अभी इस व्यवहार का सामना करना पड़ा है जिसे मैं वास्तव में समझ नहीं पा रहा हूं।रूबी मिश्रित ओवरराइड विधि स्पष्टीकरण
module M
def foo
"module_foo"
end
end
class C
def foo
"class_foo"
end
include M
end
puts C.new.foo
क्यों C.new.foo
वास्तव में class_foo
वापसी करता है? मुझे बहुत यकीन था कि मॉड्यूल में विधि द्वारा विधि को ओवरराइड किया जाना चाहिए। एक और बात, super
साथ "class_foo"
जगह C.new.foo
वापसी `" module_foo "
वास्तव में मॉड्यूल की तरह लग रहा है कि इससे पहले कि वर्ग उदाहरण विधि परिभाषित किया गया है किसी भी तरह शामिल किया गया है बनाता है। कृपया क्या आप स्पष्टीकरण दे सकते हैं?
हे, इतना स्पष्ट। धन्यवाद!! –