[ruby-core:76720] [Ruby trunk Feature#12461][Rejected] Hash & keys to make subset.
From:
usa@...
Date:
2016-08-04 07:55:21 UTC
List:
ruby-core #76720
Issue #12461 has been updated by Usaku NAKAMURA.
Tracker changed from Bug to Feature
Status changed from Closed to Rejected
----------------------------------------
Feature #12461: Hash & keys to make subset.
https://bugs.ruby-lang.org/issues/12461#change-59943
* Author: Samuel Williams
* Status: Rejected
* Priority: Normal
* Assignee:
----------------------------------------
It would be nice if Hash had a way to create a sub-hash with a limited set of keys. This would be useful for keyword functions in particular, because sometimes you have a large hash of things and you only want to send a subset to another function.
A definition somewhat like:
class Hash
def &(keys)
keys.each_with_object(self.class.new) {|key, hash| hash[key] = self[key] if has_key?(key)}
end
end
You can see some similar definitions here: https://github.com/rails/rails/blob/b670fadb978c8a12c3414ed842cd49e4fde2cec0/activesupport/lib/active_support/core_ext/hash/slice.rb#L21
It might be nice to support `slice` and `slice!` in a similar logical sense to `Array` rather than proposed `&` operator above - that would just be nice shortcut.
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>