【Ruby3.x】Hash::replace()メソッドの使い方
replaceメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
replaceメソッドは、Hashクラスに属し、呼び出し元のハッシュ(レシーバ)の内容を、指定された別のハッシュの内容で完全に置き換えるメソッドです。このメソッドは、レシーバの既存のすべてのキーと値を削除し、引数として渡されたハッシュのすべてのキーと値をレシーバにコピーします。これにより、レシーバのハッシュは引数で指定されたハッシュと全く同じ内容になります。
引数には、レシーバを置き換えるための新しい内容を持つハッシュを1つ指定します。返り値は、内容が更新されたレシーバ自身です。
このreplaceメソッドは、レシーバであるハッシュオブジェクト自体を直接変更する破壊的な操作を行います。したがって、元のハッシュの内容は完全に上書きされ、以前の内容は失われます。ハッシュオブジェクトの参照を維持したまま、その内容だけを別のハッシュの内容にしたい場合に非常に便利です。たとえば、ある変数に格納されたハッシュのオブジェクトIDを変えずに、その中身だけを最新の状態に更新したいといった用途で活用できます。
構文(syntax)
1original_hash = { key1: "value1", key2: "value2" } 2new_content_hash = { key3: "value3", key4: "value4" } 3original_hash.replace(new_content_hash)
引数(parameters)
other_hash
- other_hash: 置き換えるための新しいハッシュオブジェクト
戻り値(return)
Hash
Hash#replace メソッドは、レシーバとなるハッシュオブジェクト自身を、引数として渡されたハッシュオブジェクトの内容で置き換えた後、そのレシーバ自身を返します。