【Ruby3.x】Array::new()メソッドの使い方
newメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Array.newメソッドは、新しいArrayオブジェクト(配列)を作成し、様々な方法で初期化するためのメソッドです。
引数を指定せずにArray.newを呼び出すと、要素が一つもない空の配列が作成されます。例えば、Array.newは[]と同じ結果を返します。
引数に整数値を一つ渡すと、その整数値が配列のサイズとなり、全ての要素がnilで埋められた配列が生成されます。例えば、Array.new(3)とすると、[nil, nil, nil]のような配列が得られます。
二つの引数を渡す場合、一つ目の引数は配列のサイズ、二つ目の引数は全ての要素に設定される初期値となります。例えば、Array.new(3, 0)とすると、[0, 0, 0]のような配列が作成されます。ここで、初期値にオブジェクト(文字列やハッシュなど)を指定すると、全ての要素が同じオブジェクトを参照することになるため、一つの要素を変更すると他の要素も影響を受ける点に注意が必要です。
この問題を避けたり、各要素を異なる値で初期化したい場合には、配列のサイズを引数に渡し、さらにブロックを渡すことができます。このブロックは配列のインデックスを引数として受け取り、そのブロックの評価結果が各要素の値として設定されます。例えば、Array.new(3) { |i| i * 10 }とすると、[0, 10, 20]のような配列が得られます。
また、Array.newに既存の配列オブジェクトを渡すと、その配列の全ての要素をコピーした新しい配列が作成されます。これにより、元の配列とは独立した新しい配列を操作することができます。
Array.newメソッドは、このように目的に応じて柔軟に配列を生成・初期化するための、Rubyにおける非常に基本的な機能の一つです。
構文(syntax)
1Array.new(3) { |index| index + 1 }
引数(parameters)
size = 0, obj = nil
- size: 作成する配列の初期サイズを指定する整数。デフォルトは0です。
- obj: 配列の各要素に初期値として設定するオブジェクト。
nilの場合は各要素はnilになります。
戻り値(return)
Array
指定された条件に基づき、Array#new メソッドの戻り値の説明を生成します。
指定された配列の要素を初期値として持つ新しい配列を返します。