Ruby如何将元素添加到hash以返回hash?

时间:2014-03-04 19:04:44

标签: ruby hash ruby-1.9.3 lines-of-code

我正在尝试使用#行代码来提高效率,所以我想结合以下两行代码:

my_hash["X"] = value
my_hash

如果我取出第二行,那么我的函数返回错误的东西,因为它只返回散列的一个元素。有没有办法将元素添加到将返回整个哈希的哈希?提前谢谢!

3 个答案:

答案 0 :(得分:3)

使用merge!执行以下操作:

my_hash.merge!("X" => value)

答案 1 :(得分:1)

tap会将对象生成一个块,然后将其返回:

my_hash.tap { |h| h['X'] = value }

请注意,为减少代码行数而减少代码行只会降低可读性和目的明确性,但很少能提高代码质量。

答案 2 :(得分:1)

my_hash.merge!( { 'X' => value } )