[ruby-trunk - Feature #6118][Open] Hash#keys_of(values), returns related keys of given values

Issue #6118 has been reported by Yui NARUSE.


Feature #6118: Hash#keys_of(values), returns related keys of given
values

Author: Yui NARUSE
Status: Open
Priority: Normal
Assignee:
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

Issue #6118 has been updated by ssuda (Sambasiva Suda).

File 000_ruby_hash_keys_of.patch added

Here is the implementation for Hash#keys_of

Feature #6118: Hash#keys_of(values), returns related keys of given
values

Author: naruse (Yui NARUSE)
Status: Open
Priority: Normal
Assignee:
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

Issue #6118 has been updated by mame (Yusuke E.).

Status changed from Open to Assigned
Assignee set to matz (Yukihiro M.)


Feature #6118: Hash#keys_of(values), returns related keys of given
values

Author: naruse (Yui NARUSE)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro M.)
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

Issue #6118 has been updated by ssuda (Sambasiva Suda).

File 000_ruby_hash_keys_of.patch added

Here is the updated patch

Feature #6118: Hash#keys_of(values), returns related keys of given
values

Author: naruse (Yui NARUSE)
Status: Open
Priority: Normal
Assignee:
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

Issue #6118 has been updated by mame (Yusuke E.).

Target version set to next minor


Feature #6118: Hash#keys_of(values), returns related keys of given
values

Author: naruse (Yui NARUSE)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro M.)
Category:
Target version: next minor

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