【问题标题】:Recursive stack size递归堆栈大小
【发布时间】:2011-01-30 03:02:44
【问题描述】:

在 ruby​​ 中递归调用时如何知道当前方法堆栈帧?

【问题讨论】:

  • 能否请您发布您的代码,否则答案再好不过了:您每次通话分配的空间

标签: ruby recursion stack


【解决方案1】:

我不知道您为什么需要它,但 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

【讨论】:

    猜你喜欢
    • 2011-11-24
    • 2021-12-15
    • 2018-10-16
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 2016-08-20
    • 2016-04-06
    • 2021-07-24
    相关资源
    最近更新 更多