我要创建一个表,如下所示,
<table>
<tr>
<th>Column1</th>
<th>Column2</th>
<th>Independent Column</th>
</tr>
<tr>
<td>a</td>
<td>1</td>
<td>i1</td>
</tr>
<tr>
<td>b</td>
<td>2</td>
<td>i2</td>
</tr>
<tr>
<td>c</td>
<td>3</td>
<td>i3</td>
</tr>
<tr>
<td></td>
<td></td>
<td>i4</td>
</tr>
<tr>
<td></td>
<td></td>
<td>i5</td>
</tr>
</table>
其中第1列和第2列是来自变量@a
的数据,而Independent Column
具有来自@b
的数据。我希望它们出现在同一张表中,所以我不能将它们分别循环为@a.each
和@b.each
。
有什么办法可以帮助我。
答案 0 :(得分:1)
您可以在跟踪索引的同时遍历第一个,并从第二个获取值:
@a.each_with_index do |a, index|
@b[index] # may be nil
end
但是,这意味着@b
应该具有[]
运算符,这在任何数组中都是如此,但在链表中可能并非如此,具体取决于实现方式。
最好的方法是将您的集合(@a
和@b
)合并在一起,以便您只能迭代一个集合并获得两个值。
答案 1 :(得分:0)
您可以使用Array#zip
:
@a.zip(@b).each do |a, b|
end