我想做的事情:
class GrandFoo
def self.inherited(subclass)
puts subclass.new.respond_to? :bar #false
end
end
class Foo < GrandFoo
def bar
puts 'bar'
end
end
# but
puts Foo.new.respond_to? :bar #true
我无法找到有关此案例的信息,实际上我不知道应该寻找什么。 目标是&#34;要求&#34;在特定目录中找到的文件列表,每个文件包含一个具有相同&#39; bar&#39;的子类。方法
答案 0 :(得分:1)
The documentation for Class#inherited
说:
每当创建当前类的子类时,都会调用回调。
它表示已创建,而已创建。据推测,这意味着无法保证类是如何“完成”的,只有在创建的过程中。