【Ruby】[ ]またはnewを使った配列の生成方法まとめ
配列クラスの生成には、Arrayクラスのクラスメソッドである[]
メソッドやnew
メソッドの他に、配列式と呼ばれる記法もあるのですが、今回は[ ]
またはnew
を使った方法についてまとめてみました。勘違いしているところなどありましたらご教授お願いします。
[ ]を使った生成 - 配列リテラル
配列の生成(その1)
a = [1, 2, 3]
=> [1, 2, 3]
a = [1, 2, 3]
=> [1, 2, 3]
コメント欄より追記 18/05/02
上でArrayクラスのクラスメソッドの紹介と書いたのですが、こちらはクラスメソッドではなく、配列リテラルでした。失礼いたしました(_ _)
[ ]を使った生成
配列の生成(その2)
[ ] の引数に要素を指定。
Array[1, 2, 3]
=> [1, 2, 3]
コメント欄より追記 18/05/02
この書き方は、Arrayのサブクラスのインスタンスを作成しやすくするためのもの。
詳しくはRuby2.5のリファレンスか、下記のコメント欄をご覧ください。
newを使った生成
配列の生成(その3)
引数に配列の長さと、初期値を指定。
Array.new(2, 'hello')
=> ['hello', 'hello']
配列の生成(その4)
引数に配列を指定。
引数で渡された配列を複製する。
a = [1, 2, 3]
=> [1, 2, 3]
a.object_id
=> 70347435534940
arr = Array.new([1, 2, 3])
=> [1, 2, 3]
arr.object_id
=> 70347435491080
配列の生成(その5)
引数に配列の長さと、ブロックを指定。
Array.new(2){|i| i * 2}
=> [0, 2]
Author And Source
この問題について(【Ruby】[ ]またはnewを使った配列の生成方法まとめ), 我々は、より多くの情報をここで見つけました https://qiita.com/residenti/items/c24919ed016ef4ce1091著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .