【发布时间】:2015-07-06 13:11:54
【问题描述】:
我正在尝试从类中的静态方法中获取类的名称:
class A
def self.get_class_name
self.class.name.underscore.capitalize.constantize
end
end
虽然这会返回 Class 而不是 A。关于如何获得 A 的任何想法?
最终,我还希望有一个从 A 继承的类 B,它将使用相同的方法并在调用时返回 B。
我这样做的原因是因为我最终在这个域下有另一个对象:A::SomeOtherClass 我想使用我收到的结果来使用它。
【问题讨论】:
-
该方法是否应该返回一个字符串,即
"A"? -
@Stefan,我认为他只是想了解如何在类方法中获取当前类名。这可能只是一个例子。
-
你想要班级
A还是名字(字符串)"A"? -
Ruby 中的常量化是什么?
-
@DanBenjamin 在类方法中,
self返回类对象,name返回类名。
标签: ruby metaprogramming