2

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

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

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

4

2 回答 2

7

限制是当您耗尽内存时。

于 2013-02-06T20:33:10.433 回答
1

根据评论者@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

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

于 2013-02-06T20:46:02.497 回答