title: How do `Hash#reject!` and `Hash#reject` differ from `Hash#delete_if`?
body: <p>How do <code>reject!</code> and <code>reject</code> differ from <code>delete_if</code> for a <code>Hash</code> in Ruby? Can anyone explain the differences between them with simple code snippets?</p>