2011-03-17 77 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