如何在某些条件下删除哈希项

时间:2014-05-22 07:12:43

标签: ruby hash

我有这样的哈希。

h = {1 => 2, 2 => 3, 5 => 8, 4 => 2, 3 => 3}

我想删除键大于3的项目,如下所示:

h.each{|k,v| p "delete this" if k > 3}

如何删除循环内的项目?或者有更好的方法来删除带条件的项目吗?

1 个答案:

答案 0 :(得分:2)

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

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