2010-03-21 6 views
1

Comment puis-je connaître le cadre de pile de la méthode en cours lors d'un appel récursif dans ruby?Taille de la pile récursive

+0

pouvez-vous s'il vous plaît poster votre code sinon la réponse ne pourrait pas être mieux que: l'espace que vous allouez par appel – stacker

Répondre

3

Je ne sais pas pourquoi vous auriez besoin, mais caller.size devrait faire le travail:

def recurse(n) 
    puts caller.size 
    recurse(n-1) unless n <= 0 
end 

recurse(5) # => Outputs 1 to 6 

Cela fonctionne dans Ruby 1.9, mais il est apparemment un bug dans Ruby 1.8. Je viens de le déposer on redmine.