2012-01-24 63 views
2

定義我有紅寶石這樣的代碼:紅寶石名稱中

module Hello 

    class Hi 

    def initialize() 
     puts self.module.name //Should print "Hello" 
    end 

    end 
end 

我怎樣才能獲取類包括在模塊的名稱? 感謝

+1

有什麼目的? –

回答

3

你可以用Module::nesting方法做到這一點:

築巢→陣列

返回嵌套在呼叫點的模塊列表。

module M 
    class C 
    Module.nesting[1] # => M 
    end 
end 

如果你想從實例方法這個值,你可以把它分配給類變量:

module Hello  
    class Hi 
    @@parent = Module.nesting[1] 

    def initialize() 
     puts @@parent # => Hello 
    end 
    end 
end