在Ruby中更新哈希键和值

时间:2014-04-08 04:43:44

标签: ruby hash

以下是示例代码:

books = {
  Steve_Jobs: 10,
  Haryy_Potter: 7
}

我想更新一个密钥及其哈希值。

  1. 我不知道如何将Harry_Potter更改为Bill_Gates
  2. 对于这个值,我可以试试这个:

    books[:Harry_Potter] = 10
    
  3. 我试过了books.update[:Harry_Potter] = "Bill_Gates".to_sym,但它没有用。

2 个答案:

答案 0 :(得分:3)

这个怎么样?

books[:Bill_Gates] = books.delete(:Harry_Potter)

答案 1 :(得分:0)

change = { "Harry_Potter" => "Bill_Gates" }
books = Hash[ books.map { |k, v| [change[k] || k, v] } ]

将要更改的键和要更改它们的值放在更改哈希中。