Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Hash::transform_keys!()メソッドの使い方

transform_keys!メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

transform_keys!メソッドは、ハッシュのキーを別の値に変換するメソッドです。このメソッドの最大の特徴は、レシーバーであるハッシュ自身を直接変更する、破壊的な操作である点です。具体的には、ハッシュの各キーに対して、引数として渡されたブロックを実行します。このブロックは、現在のキーを受け取り、そのブロックの戻り値が新しいキーとして使用されます。

例えば、:name => "Alice" というキーを持つハッシュがあった場合、ブロック内でキーを文字列化するように指定すれば、"name" => "Alice" というようにキーが変換されます。また、キーの文字列を全て大文字に変換したり、特定のプレフィックスを追加したりするなど、プログラムの要件に応じた様々なキーの変換ロジックを適用できます。

変換処理が完了すると、transform_keys!メソッドは、キーが変更された元のハッシュ自身を戻り値として返します。このため、メソッド実行後には元のハッシュの内容が完全に置き換わることになります。元のハッシュの内容を保持したままキーを変換したい場合は、同名の非破壊的メソッドであるtransform_keysを使用してください。この破壊的特性を理解し、適切に使用することが重要です。

構文(syntax)

1hash.transform_keys! { |key| # キーを変換する式 }

引数(parameters)

key_map

  • key_map: Hash: キーの変換ルールを定義するハッシュ

戻り値(return)

Hash

レシーバ(メソッドを呼び出したHashオブジェクト)自身を変換し、その変換されたHashオブジェクトを返します。

関連コンテンツ

関連プログラミング言語