Rubyの配列挿入には色々種類があるので、必要に応じて使い分けましょう。
push
pushメソッドを使用すると配列の末尾に要素の追加を行います。
array = [1,2,3] p array array.push(4) #=> [1,2,3,4] array.push(5) #=> [1,2,3,4,5] p array
[1, 2, 3] [1, 2, 3, 4, 5]
pushメソッドは複数の引数を取れるので、まとめて挿入したい場合などに便利です。
array = [1,2,3] p array array.push(4,5,6) #=> [1,2,3,4,5,6] p array
[1, 2, 3] [1, 2, 3, 4, 5, 6]
<<
<<のあとに要素を記述することで、配列の末尾に追加することができます。シンプルで記述しやすいのがポイントです。
array = [1,2,3] p array array << 4 #=> [1,2,3,4] array << 5 #=> [1,3,3,4,5] p array
[1, 2, 3] [1, 2, 3, 4, 5]
個人的によく使用します。
unshift
unshiftメソッドは配列の先頭に追加を行います。
array = [1,2,3] p array array.unshift(4) #=> [4,1,2,3] array.unshift(5) #=> [5,4,1,2,3] p array
[1, 2, 3] [5, 4, 1, 2, 3]
unshiftメソッドも複数の引数をとることができます。
array = [1,2,3] p array array.unshift(4,5) #=> [4,5,1,2,3] p array
[1, 2, 3] [4, 5, 1, 2, 3]
insertメソッド
insertメソッドでは自由な場所に要素を挿入することができます。
array = [3,4,5] p array array.insert(0,1) array.insert(4,2) p array
[3, 4, 5] [1, 3, 4, 5, 2]
第1引数で挿入する位置、第二引数で挿入する要素を指定します。第二引数には複数の要素の指定も可能です。
array = [3,4,5] p array array.insert(1,100,200,300) #=> [3,100,200,300,4,5] p array
[3, 4, 5] [3, 100, 200, 300, 4, 5]
色々な追加方法があるので、自分が好きな方法を選んで下さい(自分は<<です。)