【Ruby】配列に要素を追加するpush/appendや非破壊的に追加する方法
  • facebookページ
  • twitterページ
  • 2021.04.26

    【Ruby】配列に要素を追加するpush/appendや非破壊的に追加する方法

    Ruby初心者向けに、配列の末尾に要素を追加する「push」メソッドの使い方を解説していきます。
    配列操作は、Rubyでプログラミングをする上での基本的な知識になるため、是非マスターしておきましょう。

    Rubyの配列についての基本を学びたい方は、こちらの記事もご覧ください。

    【関連記事】
    【Ruby入門】Arrayクラスの使い方と応用例

    「push」メソッドで要素を追加

    Rubyで配列の末尾に要素を追加する場合、 push()メソッドを使います。

    push()メソッドの引数には、配列の末尾に追加したい要素を指定します。
    引数を複数指定すると、先頭に指定した値から順に配列の末尾に要素が複数追加されます。

    基本的な使い方

    では、 push()メソッドを使って、配列に要素を追加するサンプルコードを見ていきましょう。

    複数の要素を一気に複数追加

    push()メソッドに複数の引数を指定して、引数の先頭から順に複数の要素を追加することもできます。

    「<<」や「append」でも要素の追加が可能

    push()メソッド以外に、「<<」や「append」メソッドを使用して配列に要素を追加する方法もあります。これらのメソッドの使い方についても確認しましょう。

    「append」メソッド

    append()push()の別名メソッドです。そのため、メソッド名が異なるだけで使い方や機能は push()メソッドとまったく同じです。

    「<<」演算子

    Rubyでは「<<」演算子を使って配列に要素を追加することもできます。「<<」演算子では、左辺に配列オブジェクト、右辺に追加する要素を指定して配列の末尾に要素を追加します。

    非破壊的に要素を追加する「+」演算子

    ここまで紹介した push()append()<<演算子はどれも要素の追加を破壊的に行うメソッドです。

    破壊的メソッドとは、 push()で配列に要素を追加するように、メソッドの呼び出し元であるオブジェクト自身の値を変更してしまうメソッドのことを指します。

    ここからは、元の配列の要素は変更せずに、別の新たな配列に要素を追加する、非破壊的メソッドの使用方法を解説していきます。

    「+」演算子で配列同士を結合

    数値の加算を行う「+」演算子ですが、Rubyでは配列同士を結合する用途でも使用することができます。「+」演算子を使用すると、2つの配列を結合した新たな配列が作成されるため、元の配列オブジェクトが変更されることはありません。

    このように、「+」演算子を使用することで2つの配列同士を結合した新たな配列が作成され、さらに元の配列の内容を変更することなく非破壊的に要素を追加した配列が作れます。

    配列を複製してから要素を追加

    「+」演算子を用いずに非破壊的に要素を追加する別の方法として、配列の複製をする dupメソッドを使った方法があります。

    dupメソッドで要素の内容をコピーし、コピーされた配列に対して要素を追加することで、非破壊的に要素を追加することが可能です。

    配列に要素を挿入する

    配列の末尾ではなく、配列の指定した位置(インデックス)に要素を挿入する場合は、 insert()メソッドを使用します。

    insert()メソッドの第1引数には、挿入する位置の0から始まるインデックスで指定し、2つめの引数には、挿入する要素の値を指定します。

    第1引数のインデックスにマイナスの値を指定すると、配列末尾から数えたインデックスの位置に要素を挿入ことも可能です。

    「insert」の基本的な使い方

    では、 insert()メソッドを使って配列に要素を挿入するサンプルコードを見ていきましょう。

    次の例は、配列の先頭から数えて2番目の要素に”Python”という値の要素を挿入するサンプルコードです。

    第1引数のインデックスにマイナス値を指定して、後ろから数えた位置に要素を追加する例も確認してみましょう。

    次の例は、配列の後ろから数えて2番目の要素に、”Python”という値を挿入するサンプルコードです。

    このように、挿入位置にマイナス値を指定した場合、 -1が配列の最も末尾となり、 -2が末尾から数えて2番目になります。

    配列への追加、挿入をマスター

    Rubyで配列に要素を追加する、「push」メソッドなどについて解説してきました。
    プログラミングにおいて、配列操作は避けては通れない基本の知識ですのでマスターしていきましょう。

    この記事のまとめ
    • 配列に要素を追加する時は「push」「append」「<<」を使う
    • 非破壊的に要素を追加する時は「+」演算子を使用する
    • 配列の途中の位置に要素を挿入する時は「insert」を使用する

    【関連記事】
    Rubyのif文で条件分岐!数値や文字列の比較方法を解説



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE