array = [[]]
for level in 0..counter-1
for line in 0..counter-1
array[level].push(rectangle[x+level][y+line])
end
end
我收到此错误 NoMethodError: undefined method `push' for nil:NilClass
我想找到矩形内的所有正方形,但是当我尝试将该正方形保存到自定义数组时出现错误。
array[level].push(rectangle[x+level][y+line])
我在这里要做的就是生成一个正方形,例如 array[[3, 4],[5, 2]]
3 4
5 2
。
问题是使用数字而不是变量的 array[0].push(rectangle[x+level][y+line])
正在工作,但是对于变量“level”它给了我错误,但是如果我使用常数,我无法生成多级数组。
有什么帮助吗?
最佳答案
问题是 array
只有一个元素,这就是它在 level = 0 时工作的原因。您可以像这样轻松修复它:
array = []
for level in 0..counter-1
array.push []
for line in 0..counter-1
array[level].push(rectangle[x+level][y+line])
end
end
关于ruby-on-rails - Ruby,多维数组推送错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43264907/