Ruby - 使用哈希表中的字符串替换数组

时间:2014-06-04 14:04:41

标签: ruby-on-rails ruby arrays hash

我想转换以下哈希...

a = {
  "foo": {
    "bar": {
      "baz": [
        "22"
      ]
    }
  }
}

为:

a = {
  "foo": {
    "bar": {
      "baz": "22"
      ]
    }
  }
}

当我跑步时:

puts "DEBUG: #{a['foo']['bar']['baz'].join(',')}"

输出正常。

但是,当我尝试像这样替换哈希中的数组时:

a['foo']['bar']['baz'].join!(',')

它死于:

hash.rb:18:in <main>': undefined method加入!&#39; for [&#34; 22&#34;]:Array(NoMethodError)

任何提示都将不胜感激。

1 个答案:

答案 0 :(得分:3)

你需要这样做:

a['foo']['bar']['baz'] = a['foo']['bar']['baz'].join(',')

您无法更改对象的类,因此没有join

的爆炸版本