在Ruby中“知道”类名的类方法?

前端之家收集整理的这篇文章主要介绍了在Ruby中“知道”类名的类方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要一个继承的 ruby类通过类方法“知道”它的类名.这最好由一个例子说明:
class Parent
  def self.whoami
    ??
  end
end

class Child < Parent
  #No code should be needed.
end

所以我应该可以打电话:

Parent.whomai

并期望返回“父母”,然后我可以打电话:

Child.whoami

并期待“孩子”的回归我有一种感觉,在传统的语言这可能是不可能的.但是Ruby的Metaprogramming模型让我惊讶不已.有什么想法吗?提前致谢.

解决方法

Class Method是一种方法,其中CLASS是接收者,因此要找到调用方法的对象(您似乎在尝试这样做)只需检查self的值即可.
class Parent
  def self.whoami
    self
  end
end

class Child < Parent
end

puts Parent.whoami #=> Parent
puts Child.whoami #=> Child
原文链接:https://www.f2er.com/ruby/272176.html

猜你在找的Ruby相关文章