以下のコードをご覧ください
def test
array = Array.new
array2 = Array.new
groups = [[424235, "goa", "italy"], [523436, "mumbai"], [342423, "africa", "goa"]]
type = ["goa", "mumbai"]
groups.each_with_index do |item,index|
if item.include?(type[0]) == true
array << index << array2
elsif item.include?(type[1]) == true
array2 << index
else
"nothing ;)"
end
end
print array.each_slice(2).map { |a, b| [a, b.first] }
end
combine
#Output - [[0, 1], [2, 1]]
コードの問題がわかりますか?つまり、私は一連のifおよびelseステートメントを使用しています。type
配列に3つ以上のエントリがある場合はどうなりますか。ifステートメントとelsifステートメントを書き続けることはできません。そして、それは私があなたの助けを必要とするところです。コードを構造化するためのより良いものは何ですか?ループ?もしそうなら、どのように。