オーダーメイドコース
icon
icon

使えると便利!Rubyで配列を使う方法【初心者向け】

プログラミング初心者向けにRubyで配列を使う方法を解説しています。配列は、複数のオブジェクトを扱うときにとても便利です。実際の業務でもよく使う必ず役立つ知識なので、今のうちにぜひ覚えておきましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

監修してくれたメンター

mentor-hakamata

新卒入社した会社がブラックな環境で自己研鑽の時間も作れず、これではだめだと思い転職。2度の転職を経て現在3社目。まだまだ挑戦中。
C#, Ruby, Python, JavaScriptなど経験。

プログラミングをする上で配列はよく使われます。今回はRubyで書く配列について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

配列を使うことで複数の要素をまとめたり、繰り返し処理をさせたりできるので、ぜひ覚えておきましょう。

目次

Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

 

田島悠介

今日は配列の書き方を練習しよう。

大石ゆかり

田島メンター!配列とはなんですかー!

田島悠介

配列は複数の要素を保持することができるんだ。実際にどういう形になるか見てみよう。

大石ゆかり

はい!お願いします!

 

配列とは

複数の要素をリストのような形式で保持したいときに使用できるデータの保存方法の1つです。

例えば変数は箱に何かを入れるイメージで説明されることが多いですが、配列は複数個の箱が1列に連なっているイメージです。

そしてその箱には番号が付けられ、決まった番号を指定するとその番号の箱のデータが取り出すことができます。

 

Rubyにおける配列の書き方

配列は以下のように書きます。

# 数値を配列に入れてみる
example1 = [3, 6, 9]
# 文字列を配列に入れてみる
example2 = ["tarou", "zirou", "saburou"]

変数に[]で囲った値を代入しています。

[]で囲うことで、配列とみなされます。

example1の3を取り出したいときは

example1[0]

と書きます。

取り出すときの[]の間に書いている値が0になっていますが、これは配列の1番目を表しています。

これは配列の添え字と言われるもので配列に保持している要素の番号になります。

他のプログラミング言語でもほとんどの場合は配列の添え字は0から始まりますのでご注意ください。

これを踏まえてexample2からzirouを取り出したいときは

example2[1]

となります。

 

[PR] 未経験からWebエンジニアを目指す方法とは

Rubyにおける配列の使い方

Rubyにおける配列の使い方として、一般的な4つの使い方をご紹介します。

  • 配列の生成
  • 配列要素の追加
  • 配列要素の削除
  • 配列の結合
  • 配列の繰り返し処理

それぞれの使い方について以下で解説します。

配列の生成

配列は[]を使うことで生成できます。

example = []

この場合は、何も値が入っていない空っぽの配列になります。

何か値を入れた状態で生成する場合は

example = [1, 2, 3]

このように書きます。

この場合は数値の1 , 2,  3を配列に格納しています。

配列の添え字0の箇所には1が、配列の添え字1の箇所には2が、配列の添え字2の箇所には3が格納されている状態で配列が生成されています。

配列要素の追加

push

配列に要素を追加する場合はpushメソッドを使用します。

以下の例では配列[1, 2, 3]に4を追加しています。

example = [1, 2, 3]
p example
#=> [1, 2, 3]

example.push(4)
p example
#=> [1, 2, 3, 4]

pushメソッドを使用して、配列に要素を追加した場合は配列の末尾に追加されます。

insert

insertメソッドを使用すると、要素を任意の箇所に追加できます。

以下の例では配列[1, 2, 3]に4を追加していますが、1,2 の間に4を追加しています。

example = [1, 2, 3]
p example
#=> [1, 2, 3]

example.insert(1, 4)
p example
#=> [1, 4, 2, 3]

配列要素の削除

delete

配列の要素を削除する場合はdeleteメソッドを使用します。

以下の例では配列[1, 2, 3, 2]から2を削除しています。

example = [1, 2, 3, 2]
p example
#=> [1, 2, 3, 2]

example.delete(2)
p example
#=> [1, 3]

deleteメソッドの引数に指定した値と同じ値を全て削除している点に注意しましょう。

delete_at

任意の箇所の要素を削除する場合はdelete_atメソッドを使用します。

以下の例では配列[1, 2, 3]から2番目の2を削除しています。

example = [1, 2, 3]
p example
#=> [1, 2, 3]

example.delete_at(1)
p example
#=> [1, 3]

配列の結合

concat

配列を結合する場合は、concatメソッドを使用します。

以下の例では配列[1, 2, 3]と配列[4, 5, 6]を結合しています。

example1 = [1, 2, 3]
example2 = [4, 5, 6]
example1.concat(example2)
p example1
#=> [1, 2, 3, 4, 5, 6]

またconcatメソッドには複数の配列を引数にすることができるので、複数個の配列を結合することも可能です。

以下の例では配列[1, 2, 3]と配列[4, 5, 6]と配列[7, 8, 9]を結合しています。

example1 = [1, 2, 3]
example2 = [4, 5, 6]
example3 = [7, 8, 9]
example1.concat(example2, example3)
p example1
#=> [1, 2, 3, 4, 5, 6, 7, 8, 9]

配列の繰り返し処理

each

eachメソッドを使用すると、配列の要素を順番に取り出して処理できます。

以下の例では配列[1, 2, 3]の要素を順番に取り出して、表示しています。

example = [1, 2, 3]
example.each do |value|
  p value
end
#=> 1
#=> 2
#=> 3

value変数にexample配列から取り出した要素を一つずつ代入し、p(puts)メソッドで表示しています。

 

配列を実際に使ってみよう

前述の操作方法のおさらいとして、配列の操作を確認してみたいと思います。

# 配列の生成
example = [1, 2, 3, 4, 5]

# 配列要素の追加
example.push(6) # 6を末尾に追加
example.insert(0, 0) # 先頭に0を追加

# 配列要素の削除
example.delete(1) # 1と等しい要素を削除
example.delete_at(2) # 添え字が2(3番目)の要素を削除

# 配列の結合
example2 = [7, 8, 9]
example.concat(example2)

# 配列の繰り返し処理
example.each do |value|
  p value
end

 

まとめ

本記事では、Rubyにおける配列の使い方について解説しました。

  • 配列とは
  • Rubyにおける配列の書き方
  • Rubyにおける配列の使い方

配列を理解することで、データを効率的に扱えます。

ぜひ使いこなせるように覚えておきましょう。

 

Ruby on Railsを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

プログラミングを学習していて、このように思ったことはありませんか?

テックアカデミーのWebアプリケーションコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、Ruby on Railsを使ったWebアプリケーション開発を学べます。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!