有人可以告诉如何在rails 3中获取二维数组的行和列长度吗?
我的阵列是这样的:
payroll = Array.new[Payroll.count][2]
当我们得到一维数组的长度时,我们确实喜欢
array.length在二维数组中怎么样?
我想做类似的事情:
payroll = Array.new[Payroll.count][2]
for i in 0..payroll.row.length - 1
for j in 0..1
puts payroll[i][j]
end
end
我只是想知道正确的方法。请帮忙......
答案 0 :(得分:5)
二维数组只是一个数组数组,因此只需使用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
(如果您的Ruby不支持each_with_index
,请使用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