だから、あなたは2D配列をナビゲートすることができます。
arr1.each do |a1|
a1.each do |a2|
puts a2
しかし、私がやろうとしていることは少し異なります。配列に2セットの値が格納されているので、それらを循環させて情報からドロップダウンメニューを作成できるようにします。
だから私は次のようなデータを持っている:
names = ["bob", "frank", "tim"]
id = [1, 2, 3]
次のようなメソッドから配列で返されます:
def method_name
#stuff
return names, id
end
私がこのビューでできるようにしたいのは、対応するインデックスを互いにペアにすることです。したがって、上記の例では、 bob-1
frank-2
tim-3
私はそれを理解しているように思えることはできません。スライスしたりネストしたループを試したり、配列の代わりにハッシュを返したりしてみました。
誰かが私がそれをやろうとしているやり方や、もっと簡単なやり方で情報を引き出す方法に関する情報を持っていれば、私は本当に入力を感謝します。
回答:
回答№1は0これは、インデックスの繰り返しが役に立つRubyのまれなケースです。
(0...names.size).map do |idx|
"#{names[idx]}-#{id[idx]}"
end
回答№2については2
names.zip(id).map { |e| e.join("-") }
zip
2つの配列を以下のような配列の配列に結合します:
[["bob", 1], ["frank", 2], ["tim", 3]]
map
外部配列の3つの要素のそれぞれをループし、2つの要素を一緒にダッシュで結合することによって各内部配列を文字列に変換します join
.
見る ジップ, 地図、および 参加する ドキュメンテーション。
一般的に言えば、Rubyで配列操作を研究するときは、ArrayとEnumerableの両方のドキュメントを見たいと思うでしょう。