Ruby, добавить значение к существующему значению для пары ключ-значение в хэш-таблице - PullRequest
1 голос
/ 18 сентября 2011

У меня есть вложенная хеш-таблица.

Если я напишу

 json.each{|key, value|
    puts value;
    puts;
    puts value[x];
    puts;
    puts value[x][0];
 }

Я получу результат в виде

Title1name1Заголовок 2name2

Title1name1

Title1

То, что я хотел бы, это иметь возможность делать что-то вроде

value[value.size][0] = Title3;
value[value.size][1] = name3;

, так что это добавляет к концу значений новый набороднако то, что я только что сделал, выбрасывает неопределенный метод '[] =', поэтому мне было интересно, может ли кто-нибудь помочь мне добавить значения тем или иным способом, чтобы я мог увеличить количество значений, связанных с тем же ключом, сохраняя при этом порядокв котором они связаны с этим.(Важно, когда я записываю значения json)

1 Ответ

0 голосов
/ 18 сентября 2011

Поскольку value[value.size] оценивается как ноль, value[value.size][0] = Title3 оценивается как nil[0] = Title3, поэтому вы получаете ошибку, которую делаете. Вместо этого вы хотите добавить массив, содержащий Title3 и name3 к значению, так:

value[value.size] = [Title3, name3]

Или лучше использовать метод push вместо value[value.size] =:

value.push([Title3, name3])
...