gpt4 book ai didi

Ruby:如何打印函数调用跟踪?

转载 作者:数据小太阳 更新时间:2023-10-29 07:56:11 24 4
gpt4 key购买 nike

当我使用 C++ 时,我可以在每个函数的开头添加一个方便的宏来打印被调用函数的信息,并使用适当的缩进(参见下面的示例)。我想知道 Ruby 中是否有类似的工具。非常感谢。

int A (int a, int b)
{
TRACE("%d", a);
B(b);
...
}

int B (int b)
{
TRACE("%d", b);
...
}

运行时输出,

==> A(a)
====> B(b)
...

最佳答案

是的,有。它叫做caller .

def foo
p caller
# ...
end

该方法返回当前执行堆栈 — 一个包含字符串的数组,格式为 file:line 或 file:line: in `method'。

为了更好的格式化,你可以使用 pp 而不是 p 来打印堆栈。

require 'pp'
def foo
pp caller
# ...
end

关于Ruby:如何打印函数调用跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20623322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com