From: "mame (Yusuke Endoh)" Date: 2012-03-30T01:54:19+09:00 Subject: [ruby-dev:45457] [ruby-trunk - Feature #6118][Assigned] Hash#keys_of(values), returns related keys of given values Issue #6118 has been updated by mame (Yusuke Endoh). Status changed from Open to Assigned Assignee set to matz (Yukihiro Matsumoto) ---------------------------------------- Feature #6118: Hash#keys_of(values), returns related keys of given values https://bugs.ruby-lang.org/issues/6118#change-25399 Author: naruse (Yui NARUSE) Status: Assigned Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: Target version: Hash#key(value) の複数版がほしいです。 {a: 1, b: 2, c: 3, d: 1}.key(1) => :a というメソッドはあるのですが、 {a: 1, b: 2, c: 3, d: 1}.keys_of(1) => [:a, :d] というメソッドは現状ありません。 Ruby での実装例は以下のような感じになります。 どうでしょうか。 class Hash def keys_of(*a) each_with_object([]) {|(k, v), r| r << k if a.include? v} end end -- http://bugs.ruby-lang.org/