加载类时的回调
是否有一个可以在加载类时执行的回调。 我在想这样的事情。
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