wywołanie wszystkich elementów w tablicy raz i zapisanie do inne tablicy

Mam taki kod:

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:

ara.product(ara2).each_slice(ara.size).to_a

dzięki o to mi chodziło!