gpt4 book ai didi

delphi - 在德尔福 : How can I find the recursion depth without using a parameter?

转载 作者:行者123 更新时间:2023-12-03 18:12:13 24 4
gpt4 key购买 nike

当我创建递归方法时,我通常会包含一个深度参数,尤其是当我需要某种救助机制时。代码通常是这样的

procedure Recurse(<Params>; aDepth : integer = 0);
begin
if aDepth > SomeLimit then
begin
//Tidy up, return best result found>
exit;
end;

<stuff>

if <Condition> then
Recurse(<Params>; aDepth+1)
else
begin
//Tidy up, return result of endnode>
end;
end;

我在没有深度参数的情况下调用它

Recurse(<Params>);

有没有其他方法可以轻松找到深度?

最佳答案

如果您有办法遍历堆栈并查看您的函数的入口点在其中的次数,我想您可以那样做。但是随后您会注意到您的 aDepth 参数也在那里,并且您会意识到 aDepth 比窥探堆栈更容易,也更少麻烦。IMO,简单的解决方案在这里是最好的,它是可移植的和面向 future 的,不像你能发明的任何堆栈监听解决方案。
所以是的,还有其他方法,但 IMO,你原来的解决方案是最好的。

关于delphi - 在德尔福 : How can I find the recursion depth without using a parameter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3777986/

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