在Ruby中哈希delete_if

时间:2014-08-16 22:32:26

标签: ruby hash

我正在尝试从散列中删除键值对,散列的值小于散列中最高键值对的值。示例:如果我的哈希是{:Jan => 3, :Feb =>4, :Mar =>4},我想删除:Jan => 3条目。我正在尝试delete_if进行比较而无济于事。

def highestvalue(myhash)
  myhash.delete_if { |k,v| v < v}
  print myhash
end

months = {:Jan => 3, :Feb =>4, :Mar =>4}
highestvalue(months) 

1 个答案:

答案 0 :(得分:2)

def highestvalue(myhash)
  max = myhash.values.max
  myhash.delete_if { |k, v| v < max }
end