我要向哈希表添加一个新的键值对,我会这样做:
{:a => 1, :b => 2}.merge!({:c => 3}) #=> {:a => 1, :b => 2, :c => 3}
有没有类似的方法可以从哈希表中删除一个键?这个代码是可行的:
{:a => 1, :b => 2}.reject! { |k| k == :a } #=> {:b => 2}
但我希望有类似这样的东西:
{:a => 1, :b => 2}.delete!(:a) #=> {:b => 2}
重要的是返回值应该是剩余的哈希值,这样我才能执行以下操作:
foo(my_hash.reject! { |k| k == my_key })
一行代码实现。