From: Dirk Traulsen Date: 2008-01-29T22:10:48+09:00 Subject: Proposal/RFQ: Hash#values/keys with block Hi! Hash#values and Hash#keys return the values/keys of a hash as an array. Wouldn't it be nice if you could just add a block to specify which values/keys you want returned? hash = { 'a' => 1, 'bb' => 2, 'c' => 33, 'dd' => 44} hash.keys #=> ["a", "bb", "c", "dd"] hash.values #=> [1, 2, 33, 44] hash.values {|k,v| k > 'a' } #=> [2, 33, 44] hash.values {|k,v| v % 2 == 0 } #=> [2, 44] hash.keys {|k,v| k.size == 1 } #=> ["a", "c"] Alternatively they could be implemented as new methods called for example hash.values_if {} hash.keys_if {} analogue to the already defined Hash#values_at. Well, I would prefer the extension of Hash#keys/values with blocks. What do you think? Dirk