【Ruby3.x】Hash::invert()メソッドの使い方
invertメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
invertメソッドは、呼び出し元のハッシュのキーと値を入れ替えた新しいハッシュを生成し、それを返すメソッドです。このメソッドは、元のハッシュの内容を破壊的に変更することなく、常に新しいハッシュを作成します。
新しいハッシュでは、元のハッシュの値がキーとなり、元のハッシュのキーが値となります。もし元のハッシュ内で、複数のキーが同じ値を持っている場合、invertメソッドが生成する新しいハッシュでは、その重複する値に対応するキーとして、元のハッシュで最後にその値と関連付けられていたキーが採用されます。
この機能は、ハッシュに格納された情報を、値からキーを検索したいといった、通常の検索方向とは逆の視点から扱いたい場合に非常に便利です。例えば、データのマッピングを逆転させたい場面などで活用できます。
構文(syntax)
1hash = { "key1" => "valueA", "key2" => "valueB", "key3" => "valueA" } 2inverted_hash = hash.invert 3# => {"valueA"=>"key3", "valueB"=>"key2"}
引数(parameters)
引数なし
引数はありません
戻り値(return)
Hash
キーと値を入れ替えた新しいハッシュを返します。元のハッシュは変更されません。