【Ruby】配列に要素を追加するメソッドをまとめてご紹介!

今回は、Ruby初心者の方々に向けて、配列に要素を追加する際に知っておくと便利なメソッドをご紹介させていただきます。

Webアプリケーションを開発する中で、配列は必ず使用することとなるオブジェクトになります。

そのため、今回ご紹介するメソッドを知っているだけで、コードをかなり簡素化することができ、開発スピードもグンと向上すること間違いなしです。

なお、配列の便利なメソッドを用途別にもまとめてありますので、こちらもぜひ合わせてご覧になってくださいね。

>> 配列を初期化する方法
>> 配列から要素を削除する方法
>> 配列の要素を検索する方法
>> 配列のサイズを調べる方法


フリーランス案件を探すならこのエージェント!

運営会社 レバテック株式会社 株式会社Branding Engineer 株式会社Hajimari
対応エリア 東京・神奈川・埼玉・千葉
大阪・兵庫・京都・愛知・福岡
東京・神奈川・埼玉・千葉
大阪・兵庫・京都・奈良・和歌山・滋賀
東京・神奈川・埼玉・千葉
茨城・大阪・兵庫・福岡
案件数 約28,000件 約3,300件 約4,200件
平均単価 68.2万円 72.2万円
最高月収 145万円 200万円 176万円
支払いサイト 15日(月末締め翌月15日支払い) 20日
手数料(中間マージン) 非公開 非公開
※実質20%
非公開
特徴高単価な案件が多い
福利厚生サービスが受けられる
・首都圏の案件が中心
給与保証制度で安定した収入を得られる
・税務処理のサポートあり
・マージン率は実質20%
週2/週3の案件が多い
在宅/リモート案件が多い
・スタートアップ企業やベンチャー企業の案件が多い
紹介企業例 ・株式会社Gunosy
・株式会社バンダイナムコホールディングス
・株式会社ユーザベース
・Sansan株式会社
・株式会社一休
・株式会社FiNC Technologies など
・クックパッド株式会社
・株式会社カオナビ
・株式会社Kaizen Platform など
説明記事
公式サイト


転職を考えているならこのエージェント!

運営会社 レバテック株式会社 株式会社Branding Engineer 株式会社リブセンス
対応エリア 東京・神奈川・埼玉・千葉
大阪・兵庫・京都・愛知・福岡
東京・神奈川・埼玉・千葉
大阪・兵庫・京都・奈良・和歌山・滋賀
東京・神奈川・埼玉・千葉
茨城・大阪・兵庫・福岡
案件数 約13,000件 約800件
※非公開求人が多い

※ドラフト制のため、対象外
年齢層 20代:◎
30代:〇
40代:〇
20代:〇
30代:〇
40代:△
20代:〇
30代:〇
40代:〇
特徴エンジニア・デザイナーを専門としている
・カウンセリングに時間をかける
年収アップ率60%の実績
IT/Web/ゲーム業界専門の転職エージェント
・業界経験者がキャリアコンサルタントを務める
・丁寧なカウンセリングで入社後の離職率1%以下を実現
ドラフト制による採用を叶える特殊なサービス
スキル・経験重視で評価してもらえる
・他エンジニアの入札結果を見ることで
自分の市場価値が分かる
紹介企業例 ・サイボウズ株式会社
・株式会社サイバーエージェント
・Chatwork株式会社 など
・DMM.com
・Money Forward
・SmartHR など
・メルカリ
・ZOZOテクノロジーズ
・freee など
説明記事
公式サイト



Rubyの配列とは

配列とは、任意のオブジェクトを複数まとめた上で、それらを同じように取り扱える/それらに対して同じ処理を加えられるようにしたオブジェクトです。

詳細については以下の記事にて詳しくご説明していますので、「まだ配列のイメージがイマイチ掴めていない…」という方はまずはこちらの記事からご覧くださいね。

おすすめ記事

今回は、Rubyの配列(Array)の基本的な使い方についてご紹介させていただきます。 Webアプリケーションを開発する中で、配列は必ずと言ってよいほど使用することとなるオブジェクトになります。 そのため、今回ご紹介する、基本[…]

プログラミングイメージ

【Ruby】配列に要素を追加する際に便利なメソッド一覧

今回ご紹介しようと思っているメソッドは、以下の6種類になります。

  • 1. <<
  • 2. push
  • 3. concat
  • 4. insert
  • 5. unshift
  • 6. +(演算子)

それぞれの主な用途や使い方、そして具体例を交えながらご説明させていただきますね。

【Ruby】配列に要素を追加する際に便利なメソッドその1 << メソッド

まずご紹介するのは、「<<」メソッドです。

「<<」メソッドを使用すると、配列の末尾に要素を追加することができます

irb(main):001:0> array = ["Ruby", "Rails", "Javascript", "Go", "PHP"]
irb(main):002:0> array << "HTML"
=> ["Ruby", "Rails", "Javascript", "Go", "PHP", "HTML"]

上記のように、配列の最後に “HTML” が追加されているのがお分かりいただけるかと思います。視覚的にも分かりやすく、直感的に使用できますよね。

【Ruby】配列に要素を追加する際に便利なメソッドその2 pushメソッド

続いてご紹介するのは、「push」メソッドです。

pushメソッドも同様に、配列の末尾に要素を追加することができます

irb(main):001:0> array = ["Ruby", "Rails", "Javascript", "Go", "PHP"]
irb(main):002:0> array.push("HTML")
=> ["Ruby", "Rails", "Javascript", "Go", "PHP", "HTML"]

「<<」メソッドと異なる点としては、pushメソッドは一度に複数の要素を追加することができるということです。

irb(main):001:0> array = ["Ruby", "Rails", "Javascript", "Go", "PHP"]
irb(main):002:0> array.push("HTML", "CSS")
=> ["Ruby", "Rails", "Javascript", "Go", "PHP", "HTML", "CSS"]

このように、”HTML”と”CSS”が同時に追加されているのがお分かりいただけるかと思います。

この他、エイリアスとしてappendメソッドも存在しています。

【Ruby】配列に要素を追加する際に便利なメソッドその3 concatメソッド

続いてご紹介するのは、「concat」メソッドです。

concatメソッドでは、配列に対して配列を追加(結合)することができます

具体例を見ながら使い方を見ていきましょう。

irb(main):001:0> array1 = ["Ruby", "Rails", "Javascript", "Go", "PHP"]
irb(main):002:0> array2 = ["HTML", "CSS"]
irb(main):003:0> array1.concat(array2)
=> ["Ruby", "Rails", "Javascript", "Go", "PHP", "HTML", "CSS"]

「あれ、これならpushメソッドでもできそうじゃない?」と思われた方、残念ながらpushメソッドを使っても、上記のような結果は得られないのです。

pushメソッドを使って同じ処理を行ってみると以下のようになってしまいます。

irb(main):001:0> array1 = ["Ruby", "Rails", "Javascript", "Go", "PHP"]
irb(main):002:0> array2 = ["HTML", "CSS"]
irb(main):003:0> array1.push(array2)
=> ["Ruby", "Rails", "Javascript", "Go", "PHP", ["HTML", "CSS"]]

このように、配列の中に配列が入ってしまうのですね…。flattenメソッドを使用すればconcatメソッドを使った時と同じ配列を得られるのですが、2つのメソッドを組み合わせるより1つの方がもちろん楽ですよね

【Ruby】配列に要素を追加する際に便利なメソッドその4 insertメソッド

続いてご紹介するのは、「insert」メソッドです。

insertメソッドを使うことで、指定した位置に要素を追加することができます

irb(main):001:0> array = ["Ruby", "Rails", "Javascript", "Go", "PHP"]
irb(main):002:0> array.insert(2, "HTML")
=> ["Ruby", "Rails", "HTML", "Javascript", "Go", "PHP"]

このように、insertメソッドを使用する際には、引数を二つ指定する必要があり、第1引数には挿入したい位置を、第2引数には挿入したい要素を指定します。

なお、元々の配列以上の添え字を第1引数に指定すると、追加される要素との間にnilが挿入されてしまいますのでご注意くださいね。

irb(main):001:0> array = ["Ruby", "Rails", "Javascript", "Go", "PHP"]
irb(main):002:0> array.insert(8, "HTML")
=> ["Ruby", "Rails", "Javascript", "Go", "PHP", nil, nil, nil, "HTML"]

【Ruby】配列に要素を追加する際に便利なメソッドその5 unshiftメソッド

続いてご紹介するのは、「unshift」メソッドです。

unshiftメソッドを使うと、配列の先頭に要素を追加することができます

irb(main):001:0> array = ["Ruby", "Rails", "Javascript", "Go", "PHP"]
irb(main):002:0> array.unshift("HTML")
=> ["HTML", "Ruby", "Rails", "Javascript", "Go", "PHP"]

また、pushメソッドと同様に、複数の要素を追加することも可能です

irb(main):001:0> array = ["Ruby", "Rails", "Javascript", "Go", "PHP"]
irb(main):002:0> array.unshift("HTML", "CSS")
=> ["HTML", "CSS", "Ruby", "Rails", "Javascript", "Go", "PHP"]

この他、エイリアスとしてprependメソッドも存在しています。

【Ruby】配列に要素を追加する際に便利なメソッドその6 +(演算子)

最後にご紹介するのは、+(演算子)です。

これまでとは少し毛色が違っているのですが、四則演算で使われる「+」を使うことで、配列に配列を追加する(結合)ことができます

irb(main):001:0> array1 = ["Ruby", "Rails", "Javascript", "Go", "PHP"]
irb(main):0020> array2 = ["HTML", "CSS"]
irb(main):003:0> array1 + array2
=> ["Ruby", "Rails", "Javascript", "Go", "PHP", "HTML", "CSS"]
irb(main):004:0> array1
=> ["Ruby", "Rails", "Javascript", "Go", "PHP"]
irb(main):005:0> array2
=> ["HTML", "CSS"]

上記のように無事2つの配列が結合されているのがお分かりいただけるかと思います。

しかしここで1つ注意点があります。

上記の通り、戻り値は「結合後の配列」ではあるのですが、元々の配列にはその変更は加わっていない(非破壊的)ということです。

この点、先ほどご紹介したconcatメソッドを使用すると元々の配列も変更してしまう(破壊的)ため、両者の違いにはくれぐれもご注意くださいね。

irb(main):001:0> array1 = ["Ruby", "Rails", "Javascript", "Go", "PHP"]
irb(main):0020> array2 = ["HTML", "CSS"]
irb(main):003:0> array1.concat(array2)
=> ["Ruby", "Rails", "Javascript", "Go", "PHP", "HTML", "CSS"]
irb(main):004:0> array1
=> ["Ruby", "Rails", "Javascript", "Go", "PHP", "HTML", "CSS"]
irb(main):005:0> array2
// レシーバである配列(array1)のみ変更され、引数の配列(array2)には変更は加わりません。
=> ["HTML", "CSS"]

お仕事の途中ですが、少し一休みして、転職独立について考えてみませんか🙌?

現役エンジニアが選ぶおすすめの転職エージェント11選【成功談・失敗談もあります】

レバテックフリーランスの評判ってどう?【現役エンジニアが徹底解説します】

MidWorks(ミッドワークス)の評判ってどう?【現役エンジニアが徹底解説します】

日々の業務に追われて自分を見失わないよう、
定期的にキャリアを振り返るようにしておきましょう🤲

最後に

さて、ここまで、Rubyで配列に要素を追加する際に知っておくと便利なメソッドについてご説明してきましたがいかがでしたか?

今回ご紹介したものを頭に入れておけば、普段の開発でも特段困ることはなくなるはずですので、どんどん積極的に使っていってくださいね。

なお、配列を扱う際に知っておくべきその他の便利なメソッドについては以下の記事にてご説明していますので、こちらもぜひご確認ください。

おすすめ記事

今回は、Ruby初心者の方々に向けて、配列(Array)を扱う際に最低限知っておくべきメソッドをご紹介させていただきます。 Webアプリケーションを開発する中で、配列は必ずと言ってよいほど使用することとなるオブジェクトになります。 […]

プログラミングイメージ

このブログを通じて少しでも「傍(はた)を楽(らく)にする」ことができていれば嬉しく思います。

最後まで読んで頂きありがとうございました。