有没有办法在Ruby中计算一个方法的调用次数?我知道它caller.first会为您提供文件名,行号和调用方法名称,但无法找到任何进一步的相关信息.
用于TracePoint在调用方法时运行代码块,然后根据方法名称进行过滤.
def foo() end
count = 0
name = :foo
TracePoint.trace(:call) do |t|
count += 1 if t.method_id == name
end
count # => 0
foo
count # => 1
foo
count # => 2
Run Code Online (Sandbox Code Playgroud)
count这里只是一个由.trace块关闭的局部变量.您可以将其调整为常量或实例变量,或者最适合您的用例.
| 归档时间: |
|
| 查看次数: |
1515 次 |
| 最近记录: |