繁体   English   中英

Ruby,将值附加到哈希表中键值对的现有值中

[英]Ruby, Append value to existing value for key value pair in hash table

我有一个嵌套的哈希表。

如果我写

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

我得到的结果与

标题1
名称1
标题2
名称2

标题1
名称1

标题1

我想要的是能够按照以下方式做点事情

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

因此,这会在值的末尾附加一个新集,但是我刚才所做的操作会引发未定义的方法'[] =',所以我想知道是否有人可以帮助我以这种方式或其他方式附加值,以便我可以增加与同一个键关联的值的数量,同时保持它们与键关联的顺序。 (当我记录json值时很重要)

由于value[value.size]计算结果为nil,因此value[value.size][0] = Title3计算结果为nil[0] = Title3 ,这就是您得到错误的原因。 相反,您要做的是将包含Title3和name3的数组附加到value,所以:

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

或者最好使用方法push而不是value[value.size] =

value.push([Title3, name3])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM