ruby – 从模块中获取类名

前端之家收集整理的这篇文章主要介绍了ruby – 从模块中获取类名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我如何从一个模块中得到包含该模块的类的类名?
module ActMethods
  def some_method(*attr_names)
    cls = self.class # this doesn't work 
  end
end

我怎样才能进入cls变量的类与这个模块的名称加载?

解决方法

self.class确实可以让你调用方法的对象的类.假定模块被包含在一个类中,这是包含模块或其子类的类.如果你真的只想要这个名字,你可以使用self.class.name来代替.

如果您使用模块扩展了一个类,并且想要获得该类,则可以只执行cls = self(或者如果您希望将该类的名称作为字符串,则可以使用cls = name).

如果没有上述的帮助,你应该澄清你想要什么.

猜你在找的Ruby相关文章