我有像这样的红宝石代码:
module Hello
class Hi
def initialize()
puts self.module.name //Should print "Hello"
end
end
end
如何获取该类所包含的模块的名称? 感谢
答案 0 :(得分: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