ハッシュで同一の値を持つキーを集める(Ruby)

組み込みメソッドにないような。配列で返します。まあ、本来のハッシュの使い方ではないですよね。

class Hash
  def collect_keys(value)
    each_key.select {|k| self[k] == value}
  end
end

p({:A=>0, :B=>2, :C=>0}.collect_keys(0))    #=>[:A, :C]