ハッシュからキーと値のペアを削除する非破壊的な方法はありますか?
たとえば、あなたがした場合
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)
その後、変更されoriginal_hash
ず、new_hash
変更されますが、少し冗長です。ただし、
original_hash = {:foo => :bar}
new_hash = original_hash
new_hash.delete(:foo)
それからoriginal_hash
変更されますが、それは私が望んでいることではありません。
私が望むことを行う単一の方法はありますか?