ara = [“a”, “b”]
ara2 = [1, 2, 3, 4]
rpt = []
(0…ara.length).each do |x|
(0…ara2.length).each do |y|
rpt.push("#{ara[x]} => #{ara2[y]}") # to jest miejsce z którym mam problem
end
end
Nie spełnia on jednak tego co chciałbym uzyskać, a chciałbym:
puts rpt[0] # output: [“a => 1, a => 2, a => 3, a => 4”]
puts rpt[1] # output: [“b => 1, b => 2, b => 3, b => 4”]
Wprowadzając minimalną liczbę zmian do Twojego kodu:
ara = ["a", "b"]
ara2 = [1, 2, 3, 4]
rpt = []
(0...ara.length).each do |x|
(0...ara2.length).each do |y|
(rpt[x] ||= []).push("#{ara[x]} => #{ara2[y]}") # to jest miejsce z którym mam problem
end
end
Jednak to nie jest zbyt ładne. Lepiej byłoby użyć Array#map:
ara.map { |x| ara2.map { |y| "#{x} => #{y}" } }
Samo zaś generowanie kombinacji można zarealizować tak: