Ruby中是否存在嵌套数组的限制

时间:2013-02-06 20:31:46

标签: ruby multidimensional-array

我正在使用Ruby进行数组实验。我无法访问最大嵌套数组计数。例 实验如下所示:

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

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

1 个答案:

答案 0 :(得分:1)

Per Commenter @ 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

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