Я хочу получить массив хэшей.Создайте хэш из переменных в цикле
Я начинаю с массивом кодов:
@codes = ['123', '456', '789']
Я принимаю каждый из этих кодов и ударил API с ними, и он возвращает значения, которые я анализирую в переменные в цикле, например, так:
@codes.each do |x|
@y = x.get_some_data
@brand = @y[brand]
@size = @y[size]
end
Тогда я хочу, чтобы поместить эти данные в массив хэшей
merged_array = []
final_hash = @codes.map{|code| {:code => code, :brand=> @brand, :size=> @size}
merged_array << final_hash
И в идеальном мире, е й с хэшей, которые выглядят, как это в merged_array
:
{:code => '123', :brand=> 'nike', :size=> 8 }
{:code => '456', :brand=> 'adidas', :size=> 4 }
{:code => '789', :brand=> 'converse', :size=> 10 }
Но когда я бегу мой сценарий он отображает коды правильно, но перезаписывает @brand
, @size
переменные и просто возвращает значения последнего цикла.
Не знаете, как получить все мои переменные в хеши?
вместо раздела 'codes.each' просто поместить всю эту логику непосредственно в метод' map', также, вероятно, нет необходимости в переменных экземпляра, так как вы просто отбросите эти данные в любом случае. – engineersmnky