I имеет массив хэшСписок групп хэш и индексировать значения
Некоторых хэш дубликат
Я хочу, чтобы сохранить копию, но добавить счетчика к названию
Например «TITLE # 1" и "TITLE # 2"
Это мой массив
list = []
@temp = {}
@temp["name"] = "Germany"
@temp["id"] = 1
list << @temp
@temp["name"] = "USA"
@temp["id"] = 2
list << @temp
@temp["name"] = "USA"
@temp["id"] = 3
list << @temp
@temp["name"] = "France"
@temp["id"] = 4
list << @temp
@temp["name"] = "France"
@temp["id"] = 5
list << @temp
@temp["name"] = "France"
@temp["id"] = 6
list << @temp
I Want результат Аналогично источнику, но рядом с «США» добавить счетчик «США №1» и «США № 2» И Франция перейдет на «Франция №1», «Франция № 2» «Франция № 3»
Никаких изменений в германии нет, потому что нет нескольких предметов.
В приведенном примере содержится ошибка. Обновляя '@ temp' вместо того, чтобы переустановить новый хеш для каждой новой записи, вы добавляете в свой список элементы, которые ссылаются на один и тот же хэш в памяти. Это приводит к тому, что ваш список выглядит как 6 элементов для '{" name "=>" France "," id "=> 6}' – Keith
Этот вопрос касается манипуляции массивом 'list', а не как' list' построен. Поэтому я предлагаю вам заменить ваш код на «list» после выполнения вычислений, как показано в моем ответе. Как правило, когда вы приводите пример, присвойте переменную каждому входному объекту (например, 'list = [...]'). Таким образом, читатели могут ссылаться на эти переменные в ответах и комментариях, не определяя их. Также покажите желаемый результат, который представляет собой массив, показанный в моем ответе. –