Двумерный массив - это просто массив массивов, поэтому просто используйте payroll.length
для получения высоты и payroll[0].length
для получения ширины (при условии, что все строки имеют одинаковую ширину).Вот как выглядит ваш цикл, используя эту идею:
for i in 0..payroll.length - 1
for j in 0..payroll[i].length - 1
puts payroll[i][j]
end
end
Но более простой способ перебрать массив - использовать метод итератора.Здесь я изменю циклы for
на each.with_index
(используйте each_with_index
, если ваш Ruby не поддерживает each.with_index
):
payroll.each.with_index do |row, i|
row.each.with_index do |cell, j|
puts payroll[i][j]
end
end
И теперь я сделаю это еще проще, так какЯ предполагаю, что вам вообще не нужен доступ к индексам, только отдельные элементы в массиве:
payroll.each do |row|
row.each do |cell|
puts cell
end
end