Как перебрать массив массивов
Каков наилучший способ перебора массива массивов?
sounds = [ [Name_1, link_1], [Name_2, link_2], [Name_3, link_3], [Name_4, link_4] ]
Я хочу получить в HTML ul
/li
структуру:
<ul>
<li>Name_1, link_1</li>
<li>Name_2, link_2</li>
<li>Name_3, link_3</li>
<li>Name_4, link_4</li>
</ul>
Ответы
Ответ 1
Предполагая, что все внутренние массивы имеют фиксированный размер, вы можете использовать автоматическую распаковку для получения каждого элемента внутреннего массива в своей собственной переменной при итерации по внешнему массиву. Пример:
sounds.each do |name, link|
# do something
end
Ответ 2
В поле зрения:
<ul>
<% sounds.each do |sound| %>
<li> <%=h sound.join ', ' %></li>
<% end %>
</ul>
Ответ 3
Используйте вложенный цикл. Внешняя повторяется над звуками, а внутренняя - итератором по текущему элементу из звуков.
Конечно, в этом конкретном примере было бы, наверное, проще всего напрямую ссылаться на элементы внутренних массивов. Таким образом, вы можете просто распечатать <li>$inner[0], $inner[1]</li>
(обратите внимание, что я никогда не использовал Ruby, поэтому я не знаю, как массивы индексируются, не говоря уже о синтаксисе печати).