У нас есть массив массивов: matrix = [[0, 1, 1, 2], [0, 5, 0, 0], [2, 0, 3, 3]]
Теперь вызов
matrix.each do |x|
print x
end
возвращает три массива, как я и ожидал ([0, 1, 1, 2][0, 5, 0, 0][2, 0, 3, 3]
).
Но при выполнении
matrix.each do |x|
if x.include?(0)
z_index = x.index(0)
for zero in z_index
for x in matrix do
matrix[i].delete_at(zero)
i+=1
end
end
else
next
end
end
я получаю undefined method 'each' for 0:Integer
, что означает, что each
выбирает 0 в первом вложенном массиве, а не собирает весь первый вложенный массив.Почему так себя ведет?