Ruby 如何在某些情况下删除哈希项

Ruby 如何在某些情况下删除哈希项,ruby,hash,Ruby,Hash,我有一个像这样的杂烩 h = {1 => 2, 2 => 3, 5 => 8, 4 => 2, 3 => 3} 我想删除密钥大于3的项目,如下所示: h.each{|k,v| p "delete this" if k > 3} 如何删除循环中的项目?还是有更好的方法删除带有条件的项目 h.each{|k,_| h.delete(k) if k > 3} 或 h.delete_if{|k,_| k > 3}

我有一个像这样的杂烩

h = {1 => 2, 2 => 3, 5 => 8, 4 => 2, 3 => 3}
我想删除密钥大于3的项目,如下所示:

h.each{|k,v| p "delete this" if k > 3}
如何删除循环中的项目?还是有更好的方法删除带有条件的项目

h.each{|k,_| h.delete(k) if k > 3}

h.delete_if{|k,_| k > 3}