【Ruby3.x】Array::replace()メソッドの使い方
replaceメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
replaceメソッドは、レシーバであるArrayオブジェクトのすべての要素を、引数で指定された別の配列の要素で置き換えるメソッドです。このメソッドは、既存の配列の内容を完全に新しい配列の内容で上書きしたい場合に非常に役立ちます。
具体的には、引数にはレシーバの配列に新しく設定したい要素を持つ配列を指定します。メソッドが実行されると、レシーバの配列の既存のすべての要素が削除され、代わりに引数として渡された配列の要素が、指定された順序でレシーバの配列に追加されます。その結果、レシーバの配列の要素数も引数の配列の要素数と一致するように変更されます。
このメソッドの重要な特徴は、レシーバとなるArrayオブジェクトそのものを変更する「破壊的メソッド」であるという点です。つまり、replaceメソッドを呼び出すと、元の配列オブジェクトの内容が直接更新され、新しい配列オブジェクトが生成されるわけではありません。そのため、特定の配列オブジェクトの状態をプログラムの実行中に一括で変更し、その変更が他の箇所で参照されている配列にも反映されることを意図する場合に、効率的かつ安全に利用できます。メソッドの戻り値としては、要素が置き換えられたレシーバの配列自身が返されます。
構文(syntax)
1array.replace(other_array)
引数(parameters)
other_ary
- other_ary: 置換後の配列を指定します
戻り値(return)
self
replace メソッドは、レシーバである配列自身を返します。これにより、メソッドチェーンなどを利用して、メソッドの実行結果をそのまま次の処理に渡すことが可能になります。