如何在rails上的ruby中迭代和打印多维数组

时间:2014-07-01 03:41:09

标签: ruby-on-rails ruby arrays multidimensional-array

所以我有一个像这样的2D数组

$array = [foo,bar,baz], [1,2,3]

我需要在表格中显示这些项目,但无法弄清楚如何操作。

$array.each do | x, y |
puts x
puts y
end

^^不起作用,我肯定错过了一些非常简单的事情。

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

array = [[:foo,:bar,:baz], [1,2,3]]
array.each do |row| 
  row.each { |entry| puts entry }
end

答案 1 :(得分:0)

这是一种方法:

<table>
  <% array.each do |inner_ary| %>
  <tr>
    <% inner_ary.each do |item| %>
      <td><%= item %></td>
    <% end %>
  </tr>
  <% end %>
</table>

答案 2 :(得分:0)

如果我理解正确,您希望将第一个数组中的第一个项目与第二个数组中的第一个项目配对,等等。

您可以使用transpose来执行此操作:

$array.transpose.each do |x, y|
  puts x
  puts y
end
# foo
# 1
# bar
# 2
# baz
# 3