मैं आसानी से अन्य वर्गों के लिए कुछ उदाहरण और वर्ग के तरीकों में जोड़ने के लिए मॉड्यूल के एक जोड़े को परिभाषित करने के कोशिश कर रहा हूँ अंदर मॉड्यूल का विस्तार, यहाँ मैं क्या कर रहा है:माणिक - एक और मॉड्यूल
module Foo
module Bar
def speak
puts "hey there"
end
end
module Baz
extend Foo::Bar
def welcome
puts "welcome, this is an instance method"
end
end
end
class Talker
include Foo::Baz
end
Talker.new.welcome
Talker.speak
के उत्पादन यह है:
welcome, this is an instance method
undefined method 'speak' for Talker.class (NoMethodError)
मैं वार्ताकारचयनिक 'बात' विधि है, क्योंकि यह फू :: बाज जो अपने आप में फैली हुई है फू :: बार शामिल है उम्मीद कर रहा था।
मुझे क्या याद आ रही है?
इसलिए यदि मैं मॉड्यूल के बजाय बाज़ को कक्षा बना देता हूं और मैं टॉकर बदलता हूं तो यह बाज़ को उप-वर्गीकृत करता है, मेरा उदाहरण काम करता है। लेकिन क्या ऐसा करना संभव है जो मैं बाज़ को कक्षा के बिना करने की कोशिश कर रहा था? (और टॉकर :: Foo :: Bar.speak जैसे कुछ करने के बिना?) – codecraig