是否有从哈希中删除键值对的非破坏性方法?
例如,如果你做了
original_hash = {:foo => :bar}
new_hash = original_hash
new_hash = new_hash.reject{|key, _| key == :foo}
或者
original_hash = {:foo => :bar}
new_hash = original_hash
new_hash = new_hash.dup
new_hash.delete(:foo)
thenoriginal_hash
没有改变,new_hash
也改变了,但它们有点冗长。但是,如果你这样做了
original_hash = {:foo => :bar}
new_hash = original_hash
new_hash.delete(:foo)
然后original_hash
改变了,这不是我想要的。
有没有一种方法可以满足我的要求?