【发布时间】:2017-08-09 10:53:57
【问题描述】:
我想对在我的 rails 代码中运行的每个方法进行一些处理,因为我需要在运行时获得有关该方法的一些信息。我正在使用 set_trace_func 来执行此操作。在 set_trace_func 中我们接收到绑定:
set_trace_func proc { |event, file, line, id, binding, classname|
printf "%8s %s:%-2d %10s %8s\n", event, file, line, id, classname
}
如何从这个绑定中确定函数将返回什么?我知道如何访问变量、参数等,但不知道如何获取返回值,还有更好的工具吗?
【问题讨论】:
-
什么功能?从哪里判断?请提供一个可以理解的解释。
-
另外,这个问题与 Rails 和元编程无关。
-
@mudasobwa 这有帮助吗?
-
不,它没有。 “将返回”什么函数?
-
@mudasobwa 我认为它解释了 set_trace_func 在执行过程中“暂停”该函数。所以我想知道它将返回什么值,可以通过处理源代码或使用 TracePoint 来确定,如下 Stefan 所回答。我希望得到一些更具建设性的批评。
标签: ruby metaprogramming