a = Pc()
a.brand = 'brand'
# etc.
我收到此错误 NoMethodError:未定义的方法`push'为零:NilClass
我想找到一个矩形内的所有方块,但是当我尝试将该方块保存到自定义数组时,我得到一个错误。
array = [[]]
for level in 0..counter-1
for line in 0..counter-1
array[level].push(rectangle[x+level][y+line])
end
end
我想在这里做所有生成像例如数组[[3,4],[5,2]]的方格,这将是
array[level].push(rectangle[x+level][y+line])
。
问题是3 4
5 2
有数字而不是变量是有效的,但是变量'等级'它给了我错误,但是如果我使用常数我就无法生成多级数组。
任何帮助?
答案 0 :(得分:3)
问题是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
答案 1 :(得分:1)
找到了解决方案
2darray = [[]]
i=0
for level in 0..counter-1
array = []
for line in 0..counter-1
array.push(rectangle[x+level][y+line])
end
2darray.push(array)
生成1d数组并将其附加到2d数组