是否有一个可以在加载类时执行的回调.我在想这样的事情. register_callback('Foo', :debug_message)def debug_message puts "Foo has been loaded"endrequire 'foo' 不,那里没有.并且不可能,因为Ruby中的类是开放的
register_callback('Foo', :debug_message) def debug_message puts "Foo has been loaded" end require 'foo'不,那里没有.并且不可能,因为Ruby中的类是开放的简单原因:它们永远不会完全“加载”,您可以随时添加,删除,重命名和覆盖方法.
例如,以下类何时“加载”?
# foo.rb class Foo def some_method end end # bar.rb class Foo def some_other_method end end # baz.rb class Foo def some_method end end require 'foo' require 'bar' require 'baz' if rand > 0.5