有没有办法在调用此方法时获取实现
Ruby方法的方法列表?
例如:
def foo puts "foo" end def foo2 foo end
我想知道,当调用“foo2”时,它调用1st“foo”和第二个“puts”以及这些方法定义的相应文件. (如果“put”调用其他方法,我也想知道它们)
那可能吗?如果’是’怎么样?我可以说我的问题是找到方法依赖项.
解决方法
你可以使用
set_trace_func获得这个,但由于Ruby是动态的,你还需要测试代码来调用方法,以便打印调用顺序.
set_trace_func proc { |event,filename,line,id,binding,klass| puts "#{klass}##{id}" }
在Ruby 2.0中,TracePoint是一个更好的选择.