2010-03-21 117 views
1

我如何知道當前的方法堆棧幀,而在ruby遞歸調用?遞歸堆棧大小

+0

可否請您發佈您的代碼,否則答案不會更好,因爲您分配給每個電話的空間 – stacker 2010-03-21 20:57:57

回答

3

我不知道你爲什麼會需要一個,但caller.size應該做的工作:

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

recurse(5) # => Outputs 1 to 6 

這個作品在Ruby 1.9的,但顯然是在Ruby 1.8中的錯誤。剛剛提交on redmine