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).

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...