2011-03-17 26 views
3

有人可以告诉如何获得轨道3中的二维数组的行和列的长度?如何获得轨道3中二维数组的行和列长度?

我的数组是这样的:

 

payroll = Array.new[Payroll.count][2] 
 

当我们得到一个一维数组,我们做这样的长度

 array.length
怎么样在一个2维数组?做类似的

即时通讯思想:

 

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 
 

我只是想知道正确的方式。请帮助...

回答

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 

但是通过数组循环更简单的方法是使用iterator方法。在这里,我会改变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 
+0

谢谢你,这是一个非常大的帮助! – johan 2011-03-17 07:27:29