ruby - 有没有办法在每个方法定义后添加代码来运行

Rom*_*her 1 ruby metaprogramming

我知道def是一个关键字,不能被覆盖.

但是有一种方法可以在方法向类注册时调用方法(传入正在创建的方法的名称吗?)

Jör*_*tag 7

这就是Module#method_added钩子方法的用途:

module Foo
  def self.method_added(meth)
    p meth
  end

  def bar; end
end

# :bar
Run Code Online (Sandbox Code Playgroud)