微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

原文地址:https://www.jb51.cc/ruby/272786.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐