1. ホーム
  2. ruby

[解決済み] Rubyでハッシュの全キーをエレガントにリネームする方法は?重複

2023-01-06 14:14:20

質問

Rubyのハッシュを持っています。

ages = { "Bruce" => 32,
         "Clark" => 28
       }

置換名の別のハッシュがあると仮定して、すべてのキーの名前を変更して、最終的に次のようにするエレガントな方法はありますか?

ages = { "Bruce Wayne" => 32,
         "Clark Kent" => 28
       }

どのように解決するのですか?

ages = { 'Bruce' => 32, 'Clark' => 28 }
mappings = { 'Bruce' => 'Bruce Wayne', 'Clark' => 'Clark Kent' }

ages.transform_keys(&mappings.method(:[]))
#=> { 'Bruce Wayne' => 32, 'Clark Kent' => 28 }