Lorsque je crée des méthodes récursives, j'inclue souvent un paramètre Depth, en particulier lorsque j'ai besoin d'un mécanisme de renflouement. Le code sera généralement quelque chose comme çaEn Delphi: Comment trouver la profondeur de récursivité sans utiliser de paramètre?
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;
Et je l'appelle sans paramètre de profondeur
Recurse(<Params>);
Y at-il une autre façon de trouver facilement la profondeur?
Voulez-vous une solution Delphi pure, ou êtes-vous prêt à passer à l'assembleur? – dthorpe
Non, je ne veux pas d'assembleur. J'espérais une solution qui était _simpler_ alors mon approche actuelle. –