From: shyouhei@... Date: 2017-05-18T02:08:17+00:00 Subject: [ruby-core:81221] [Ruby trunk Feature#9970] Add `Hash#map_keys` and `Hash#map_values` Issue #9970 has been updated by shyouhei (Shyouhei Urabe). This issue has no move so far. I think you need to start discussing about transform_keys if you want that. It has one problem though; what happens when the transformed keys conflict is not intuitive. Is that an exception? Or the latter wins? ```ruby { x: 1, y: 2 }.transform_keys {|*| :same_key } # should what happen? ``` ---------------------------------------- Feature #9970: Add `Hash#map_keys` and `Hash#map_values` https://bugs.ruby-lang.org/issues/9970#change-64875 * Author: seantheprogrammer (Sean Griffin) * Status: Open * Priority: Normal * Assignee: nobu (Nobuyoshi Nakada) * Target version: ---------------------------------------- These methods simplify two common patterns when working with hashes, and transforming the data. Without `map_keys`: `Hash[{ a: 1, b: 2 }.map { |key, value| [key.to_s, value] }]` With `map_keys`: `{ a: 1, b: 2 }.map_keys(&:to_s)` Without `map_values`: `Hash[{ a: '1', b: '2' }.map { |key, value| [key, value.to_i] }]` With `map_values`: `{ a: '1', b: '2' }.map_values(&:to_i)` The patch, with tests, is attached. ---Files-------------------------------- hash-map-keys-and-map-values.diff (5.79 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: