Учитывая ха sh
person = {
"cats"=> 2,
"dogs"=> 1
}
I w * sh для построения массива
["cats", "cats", "dogs"]
"cats"
появляется дважды, потому что person["cats"] #=> 2
. По той же причине "dogs"
появляется один раз. Если бы у ha sh была третья пара ключ-значение "pigs"=>3
, я бы хотел вернуть массив
["cats", "cats", "dogs", "pigs", "pigs", "pigs"]
Я попробовал следующий код.
arr = person.to_a
i = 0
new_arr = []
while i < arr.length
el = arr[i][0]
final = [new_arr << el]
print final.flatten
i += 1
end
Это отображает
["cats"]["cats", "dogs"] => nil
но, похоже, не возвращает значение.
new_arr
#=> ["cats", "dogs"]
Как видите, я не получаю ответ, который хотел, и не понимаю, почему print
отображает то, что я покажите выше.
Я хотел бы знать, что не так с моим кодом и что может быть лучше для этого.