代码之家  ›  专栏  ›  技术社区  ›  troelskn

我可以找到定义方法的文件/行号吗?[副本]

  •  0
  • troelskn  · 技术社区  · 16 年前

    How To Find Where A Ruby Method Is Defined At Runtime


    对于给定的对象,是否可以找出每个方法的定义位置?
    1 回复  |  直到 7 年前
        1
  •  0
  •   Nigel Thorne    11 年前

    事实上,这将是非常困难的,但是您可以使用hook方法来观察定义了方法的行号。

    class X < Object
    
      def X.method_added(symbol)
        puts "adding method #{symbol} to class X from #{caller(0)}"
      end
    
    end
    
    
    class X
      def a_method
      end
    end