Ruby中的嵌套数组有限制吗



我正在Ruby中尝试数组。我无法访问最大嵌套数组计数。实例实验如下:

array = [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]

那个么,你们知道Ruby中数组的维数限制吗?

限制是在内存不足时。

根据HunterMcMillen的评论,你可以这样测试它:

# Warning: be prepared for a sad computer!
depth=0; arr=[]; a=arr
begin
  while true do
    b = []
    a.push(b)
    a = b
    depth += 1
  end
rescue => e
  puts "OK: depth=#{depth}, error=#{e} (#{e.class})"
end

大概在某个时候,它会引发一些错误(例如内存不足),您会看到您能够嵌套多少个数组。

相关内容

  • 没有找到相关文章

最新更新