Rubyリファレンス: Home

new (Array)

Edit   History

標準クラス・モジュール > Array > new

Array.new(size = 0, obj = nil)

Arrayクラスのクラスメソッドnewは、新しい配列(Arrayクラスのインスタンス)を返します。

引数sizeには配列のサイズ(要素数)を整数で指定できます。sizeを指定しなければ、空の配列になります。第2引数objを指定すると、新しい配列をそのオブジェクトで埋めます。第2引数を指定しないときはnilで埋めます。

arr = Array.new
p arr
arr = Array.new(4)
p arr
arr = Array.new(4, "hello")
p arr
[]
[nil, nil, nil, nil]
["hello", "hello", "hello", "hello"]
Array.new(size) {|idx| block }

引数objの代わりにブロックを渡すと、sizeの数だけブロックを繰り返し、ブロックが返す値を配列の要素にします。ブロック引数idxには要素の位置が整数で入ります。

arr = Array.new(10) {|idx| 2 ** idx }
p arr
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
Array.new(array)

newメソッドの引数に配列を指定すると、その配列をコピーした新しい配列を返します。

arr = Array.new(["dog", "mouse", "cat"])
p arr
["dog", "mouse", "cat"]

関連項目