如何在Rails 3中获取二维数组的行和列长度?

4

有人能告诉我如何在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

我只是想知道正确的方法。请帮忙...

1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接