当我使用C ++时,我可以在每个函数的开头添加一个方便的宏来打印被调用函数的信息,也可以使用适当的缩进(参见下面的示例)。我想知道Ruby中是否有类似的工具。非常感谢。
int A (int a, int b)
{
TRACE("%d", a);
B(b);
...
}
int B (int b)
{
TRACE("%d", b);
...
}
运行时输出,
==> A(a)
====> B(b)
...
答案 0 :(得分:3)
是的,有。它被称为caller
。
def foo
p caller
# ...
end
该方法返回当前执行堆栈 - 一个包含表单文件中的字符串的数组:line或file:line:in`method'。
为了更好地格式化,您可以使用pp
代替p
来打印堆栈。
require 'pp'
def foo
pp caller
# ...
end
答案 1 :(得分:1)
我相信你要找的是p
函数:
这将打印有关对象a
p a
另一个不错的工具是inspect
方法。
a.inspect