Упрощенная версия:
ar=['name: Joe', 'name: Jack', 'name: Jill']
hash={}
ar.each{|line| if line.include?('name'); hash['name'] = line;end;}
puts hash
Моя цель - добавить все элементы в массиве к ключу 'name', но мой код, похоже, перезаписывает существующее значение.
Возможно ли назначить несколько значений одной клавише? Я бы предпочел не использовать массив в качестве значения.
Edit:
Я понял, что мой первый пример не охватывает всю проблему:
расширить массив до:
ar = ['имя: Джо', 'имя: Джек', 'имя: Джилл', возраст: 29 ',' возраст: 32 ',' разное: отличная погода ']
Я бы хотел, чтобы имя было сгруппировано под ключом «имя» и т. Д.
Количество атрибутов / ключей заранее неизвестно, поэтому массивы будут иметь верхнюю динамическую составляющую.