2009-08-07 14 views
14

से अभिभावक मॉड्यूल विधियों को कॉल करना मुझे कक्षा में अभिभावक मॉड्यूल से विधि को कॉल करने का तरीका जानने में समस्या हो रही है।नेस्टेड क्लास

मैं अपने घोंसले वर्गों में पैरेंट मॉड्यूल से मॉड्यूल फ़ंक्शंस को कॉल करना चाहता हूं, लेकिन ऐसा नहीं लगता कि यह कैसे करें।

उदाहरण:

module Awesome 
    class Checker 
    def awesome? 
     awesome_detection 
    end 
    end 

    module_function 
    def awesome_detection 
    true 
    end 

end 

अगर मैं Awesome::Checker.new.awesome? कहते हैं, यह मैं क्या याद कर रहा हूँ पर awesome_detection

कोई भी विचार के बारे में पता है?

+0

बस याद किया - मुझे एहसास हुआ कि मैं चेकर में 'बहुत बढ़िया' शामिल कर सकता हूं, लेकिन अगर मेरे पास 'Awesome' के भीतर कई कक्षाएं हैं तो एक अलग तरीका जानना चाहता हूं। –

उत्तर

22
#!/usr/bin/env ruby -wKU 

module Awesome 

    class Checker 
    def awesome? 
     Awesome.awesome_detection 
    end 
    end 

    def self.awesome_detection 
    puts "yes" 
    end 

end 

Awesome::Checker.new.awesome? 
# => yes 
+0

मूल प्रश्न में 'module_function' बेहतर था। 'Awesome.awesome_detection' को कॉल करने के लिए' def awesome? 'को ठीक करना पर्याप्त होगा। –

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