我正在尝试迭代使用以下行创建的多维数组
迭代我正在使用以下代码
visiblematrix= Array.new (10) {Array.new(10){0}}
但这不允许我在迭代时知道当前的x,y位置。如何在不诉诸临时变量的情况下找到它
visiblematrix.each do |x|
x.each do |y|
puts y
end
end
答案 0 :(得分:19)
您还可以使用Enumerable#each_with_index方法(ruby数组包含Enumerable mixin)。
visiblematrix.each_with_index do |x, xi|
x.each_with_index do |y, yi|
puts "element [#{xi}, #{yi}] is #{y}"
end
end
答案 1 :(得分:8)
使用each_index
而非each
。
请记住,x和y现在是你的索引而不是该索引的值。所以visiblematrix [x]等。