【问题标题】:How do I update an Array nested in a Hash?如何更新嵌套在哈希中的数组?
【发布时间】:2015-06-05 00:25:27
【问题描述】:

我的脚本有:

my_hash = {'key1' => 'value1', 'key2' => ['value2', 'value3']}
my_array = ["text...#{variable1}", "text...#{variable2}", "text...#{variable3}"]
my_hash['key2'] = my_array

我收到:[]=': can't convert Hash into String (TypeError)

如何更新key2 的整个数组?

【问题讨论】:

  • 你在这里尝试了什么?
  • 我试过这个:my_array = ['value4', 'value5'] 然后my_hash['key2'] = my_array。我得到[]=': can't convert Hash into String (TypeError)
  • 因为你没有引用哈希的键
  • 2.1.2 :001 > h = {} => {} 2.1.2 :002 > h[:a] = [1,2,3] => [1, 2, 3] 2.1.2 :003 > h[:a] => [1, 2, 3]
  • 您确定要更新key2,而不是"key2"

标签: arrays ruby hashmap


【解决方案1】:
new_array = ['value5']

hash = {
  'key1' => 'value1',
  'key2' => ['value2', 'value3']
}

hash['key2'] = new_array

【讨论】:

  • 当我这样做时,我得到:[]=': can't convert Hash into String (TypeError)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 2018-04-21
  • 2018-09-15
相关资源
最近更新 更多