【Ruby3.x】Array::fill()メソッドの使い方
fillメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
fillメソッドは、配列の指定された範囲の要素を特定の値で埋める処理を実行するメソッドです。このメソッドは、既存の配列の一部または全ての要素を、新しい任意の値で上書きしたい場合に利用されます。
第一引数には、配列の要素として設定したい値を指定します。第二引数として、変更を開始するインデックスを数値で指定できます。この引数を省略した場合、配列の先頭(インデックス0)から変更が開始されます。負の値を指定すると、配列の末尾からの相対的な位置が指定されます。第三引数として、変更する要素の数を数値で指定できます。この引数を省略した場合、指定された開始インデックスから配列の末尾まですべての要素が変更されます。また、開始インデックスと要素数の代わりに、範囲オブジェクト(例: 0..2)を使って変更する範囲を指定することも可能です。
fillメソッドは、呼び出し元の配列そのものを変更する破壊的なメソッドです。これは、新しい配列を生成するのではなく、既存の配列の内容を直接書き換えることを意味します。このため、元の配列の状態を保持したい場合は、事前に配列のコピーを作成するなど、注意して使用する必要があります。例えば、特定の要素をまとめて初期値で埋め直す場合や、配列の一部を効率的にリセットする際に役立ちます。
構文(syntax)
1[nil, nil, nil, nil, nil].fill("value", 1, 3)
引数(parameters)
value, start = 0, length = nil
- value: 配列に設定する値
- start = 0: 値を設定する開始位置(インデックス)
- length = nil: 値を設定する要素数。nilの場合は、開始位置から配列の末尾までを設定
戻り値(return)
Array
指定された範囲の要素を引数で指定された値で埋め込んだ配列を返します。