【发布时间】:2014-03-04 19:04:44
【问题描述】:
我正在尝试使用 # 行代码来提高效率,所以我想结合以下两行代码:
my_hash["X"] = value
my_hash
如果我取出第二行,那么我的函数会返回错误的东西,因为它只会返回散列的一个元素。有没有办法将元素添加到将返回整个哈希的哈希中?提前致谢!
【问题讨论】:
标签: ruby hash ruby-1.9.3 lines-of-code
我正在尝试使用 # 行代码来提高效率,所以我想结合以下两行代码:
my_hash["X"] = value
my_hash
如果我取出第二行,那么我的函数会返回错误的东西,因为它只会返回散列的一个元素。有没有办法将元素添加到将返回整个哈希的哈希中?提前致谢!
【问题讨论】:
标签: ruby hash ruby-1.9.3 lines-of-code
使用merge! 执行以下操作:
my_hash.merge!("X" => value)
【讨论】:
tap 会将对象产生到一个块中,然后返回它:
my_hash.tap { |h| h['X'] = value }
请注意,为了减少代码行数而减少代码行数只会降低可读性和目的的清晰度,而很少会提高代码质量。
【讨论】:
my_hash.merge!( { 'X' => value } )
【讨论】: