【Ruby】配列の基本的な使い方を分かりやすく解説します!

  • 2020年4月4日
  • 2021年10月16日
  • Ruby

今回は、Rubyの配列(Array)の基本的な使い方についてご紹介させていただきます。

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

そのため、今回ご紹介する、基本的な配列の使い方を知っているだけで、効率的に開発を進めることができます

初心者の方向けに分かりやすく簡潔にご説明していきますので、ぜひ最後まで読んでみてくださいね。

なお、Rubyについては以下の記事にて詳しくご説明していますので、こちらもぜひご確認くださいね。

おすすめ記事

みなさんこんにちは! 今回の記事は、 悩みを抱えた人 ・Rubyってどんなプログラミング言語なの?・Rubyを勉強すると将来役に立つかな?・Rubyのおすすめの学習方法が知りたい! というお悩みを解決する記事にな[…]

Rubyとは?その特徴や将来性、おすすめの学習方法まで網羅的にご紹介します

レバテックフリーランス … 業界最大級の案件数業界トップクラスの高単価報酬を誇る最大手のサービスです。実績豊富なコーディネーターが丁寧な対応をしてくれるため、案件の無理な提案はありません。フリーランスで生きていくためにはまず登録しておきましょう。
MidWorks … フリーランス賠償責任保障生命保険の折半など、フリーランスでありながらも正社員並みの保障を受けられるのが特徴です。また、経験豊富なキャリアコンサルタントによる手厚いサポートも受けられるため、安定したフリーランス生活を送りたい方には特におすすめのサービスです。
ポテパンフリーランス … IT業界・技術に詳しいコンサルタントが担当してくれるため、こちらの要望をきちんと理解した上で案件を紹介してくれます。また、案件情報のみならず、フリーランスのイロハについても教えてくれるため、フリーランスとして初めて活動される方には特におすすめのサービスです。

レバテックキャリア … ITエンジニアが利用したい転職エージェントNo.1にも選ばれており、年収600万円以上のハイクラス求人を5,000件以上も保有しています。エンジニアが転職を考えた時にまず初めに登録しておくべきサービスです。
Tech Stars Agent … Tech Stars Agentでは、担当エージェントが全員エンジニア出身のため、スキルやキャリアを見据えたきめ細かな転職支援が受けられます。運営元の株式会社Branding Engineerは、独立支援サービス「MidWorks」も展開しているため、独立を視野に入れたサポートも受けられます
転職ドラフト … 年収UP率93.8%/平均年収UP額126万円と圧倒的な年収UP率を誇るイベント型のエンジニア向け 転職サービスです。毎月1回開催され、厳選された優良IT/Web系企業約150社からダイレクトスカウトを受け取ることができます。年収アップを目指す方は登録必須です。

Rubyの配列とは

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

文章だけでは分かりづらいと思うので、実際に具体例を交えてご説明してきますね。

配列は、以下のように全ての要素を “[]” で囲みそれぞれの要素を “,” で区切ります

# 文字列を格納した配列
["Ruby", "Rails", "Programming"]

# 数字を格納した配列
[1, 2, 3, 4, 5]

# 色々なオブジェクトが混在した配列
[1, "Programming", ["Ruby", "Rails"], "酒井", 9]

例えば、”1~5″ までの数字があったとして、これら全てを2倍した数字を表示するという処理を考えてみましょう。

何も考えずに実装するとなると以下の通りになるかと思います。

puts 1 * 2
puts 2 * 2
puts 3 * 2
puts 4 * 2
puts 5 * 2

この場合、いずれの場合においても “* 2” という処理が共通していますよね。つまり、最初に申し上げた通り、それぞれの要素に対して「同じ処理を加えられる」ということです。

実際に配列を使って同じ処理を実装してみると、以下の通りになります。

[1, 2, 3, 4, 5].each { |number| puts number * 2 }

いかがでしょうか?5行かかっていたものが、たったの1行で実現できてしまうのですね。また、ただ書くのが楽になるというだけではなく、保守性も格段に向上します

仮に”1~5″ までの数字に3をかけることになった場合、当初の場合だと、”* 2″ を5箇所修正する必要がありますが、配列を使った場合だと、1箇所修正するだけで問題なくなりますよね。

このように、配列は、同じように取り扱いたい/同じ処理を加えたい要素が複数存在する場合に力を発揮するオブジェクトになります。

「配列とは?」という部分が解決できたところで、次からは実際に配列を扱っていきましょう。

Rubyの配列の基本的な使い方

ここからは、Rubyの配列の作成、そして実際に格納されている値の取得/追加/更新/削除の方法を見ていきましょう。

Rubyの配列を作成する方法

まずは配列の作成方法から見ていきます。

配列の基本的な作成方法はとても簡単で、ただ配列に格納したい要素を “[]” で囲うだけで大丈夫です。具体的には以下の通りです。

irb(main):001:0> array = [1, 2, 3, 4, 5]
irb(main):002:0> puts array
=> [1, 2, 3, 4, 5]

或いは、Arrayクラスからインスタンスを作成する方法も存在しています。

irb(main):001:0> array = Array.new(3, "Ruby")
irb(main):002:0> puts array
=> ["Ruby", "Ruby", "Ruby"]

その他、範囲オブジェクトというものを使って配列を作成する方法もあります。

irb(main):001:0> array = (1..5).to_a
# ここでの "(1..5)" が範囲オブジェクトです
irb(main):002:0> puts array
=> [1, 2, 3, 4, 5]

まだいくつか配列の作成方法は存在しているのですが、まずはこれらを知っておくと問題ないと思います。

その他の作成方法を知りたい方は、ぜひ以下の記事も参考にしてみてください。

おすすめ記事

今回は、Ruby初心者の方々に向けて、配列を初期化する方法をまとめてご紹介させていただきます。 Webアプリケーションを開発する中で、配列は必ず使用することとなるオブジェクトになります。 しかし、配列を初期化すると言ってもその[…]

フリーランスイメージ

Rubyの配列から値を取得する方法

続いては、実際に作成した配列から値を取得する方法を見ていきます。

配列では、それぞれの要素に対して「添え字」というもので番号が振られており、その添え字を指定することによって中身の要素を取り出すことができます

irb(main):001:0> array = ["Ruby", "Rails", "Java", "PHP"]
irb(main):002:0> puts array[1]
=> "Rails"

ここで注意があります。この「添え字」ですが、1ではなく0から始まるというところに特徴があります。

そのため、上記の例でも、array[1]とすると、配列の中で2番目の要素である “Rails” が取り出されていますよね。

この他、添え字を負の値にすると、配列の後ろから順に判定されていくので、こちらも覚えておいてくださいね(例えば、array[-1]とすると、”PHP” が取り出されます)。

Rubyの配列に値を追加する方法

続いては、作成した配列に新たに値を追加する方法を見ていきます。

値の追加方法にはいくつか存在しているのですが、単純に配列の末尾に値を追加する場合には主に以下の二通りの方法があります。

# 方法① pushメソッドを使用
irb(main):001:0> array = ["Ruby", "Rails", "Java", "PHP"]
irb(main):002:0> array.push("Python")
irb(main):003:0> puts array
=> ["Ruby", "Rails", "Java", "PHP", "Python"]

# 方法② << を使用する
irb(main):001:0> array = ["Ruby", "Rails", "Java", "PHP"]
irb(main):002:0> array << "Python"
irb(main):003:0> puts array
=> ["Ruby", "Rails", "Java", "PHP", "Python"]

逆に配列の最初に値を追加する場合には、unshiftメソッドを使用します。

irb(main):001:0> array = ["Ruby", "Rails", "Java", "PHP"]
irb(main):002:0> array.unshift("Python")
irb(main):003:0> puts array
=> ["Python", "Ruby", "Rails", "Java", "PHP"]

その他、追加したい場所を指定する場合には、insertメソッドを使用します。insertメソッドでは引数を二つ指定する必要があり、第1引数には挿入したい位置を、第2引数には挿入したい要素を指定します。

irb(main):001:0> array = ["Ruby", "Rails", "Java", "PHP"]
irb(main):002:0> array.insert(2, "Python")
irb(main):003:0> puts array
=> ["Ruby", "Rails", "Python", "Java", "PHP"]

以上が配列に値を追加する方法になります。これら以外にもいくつか存在してはいるのですが、これらを覚えていれば特に困ることはないでしょう。

なお、さらに詳しく(別のメソッドも)知りたい方は、ぜひ以下の記事も参考にしてみてください。

おすすめ記事

今回は、Ruby初心者の方々に向けて、配列に要素を追加する際に知っておくと便利なメソッドをご紹介させていただきます。 Webアプリケーションを開発する中で、配列は必ず使用することとなるオブジェクトになります。 そのため、今回ご[…]

プログラミングイメージ

Rubyの配列の値を更新する方法

続いては、配列の中の値を更新する方法を見ていきます。

更新する場合は非常に簡単です。更新したい値の添え字を指定し、その値を上書きするだけで大丈夫です。

irb(main):001:0> array = ["Ruby", "Rails", "Java", "PHP"]
irb(main):002:0> array[1] = "Ruby on Rails"
irb(main):003:0> puts array
=> ["Ruby", "Ruby on Rails", "Java", "PHP"]

Rubyの配列から値を削除する方法

続いては、配列の中の値を削除する方法を見ていきます。

値を削除する方法にはいくつか存在しているのですが、値を指定して削除する場合には、deleteメソッドを使用します。

irb(main):001:0> array = ["Ruby", "Rails", "Java", "PHP"]
irb(main):002:0> array.delete("Ruby")
irb(main):003:0> puts array
=> ["Rails", "Java", "PHP"]

或いは、添え字を指定して値を削除することも可能です。

irb(main):001:0> array = ["Ruby", "Rails", "Java", "PHP"]
irb(main):002:0> array.delete_at(0)
irb(main):003:0> puts array
=> ["Rails", "Java", "PHP"]

その他、配列の先頭の要素を削除する場合には、shiftメソッドを使用します。

irb(main):001:0> array = ["Ruby", "Rails", "Java", "PHP"]
irb(main):002:0> array.shift()
irb(main):003:0> puts array
=> ["Rails", "Java", "PHP"]

指定した範囲の要素を削除したい場合には、slice!メソッドを使用します。slice!メソッドでは引数を二つ指定する必要があり、第1引数には削除したい要素の開始位置を、第2引数にはその開始位置からいくつ削除するかを指定します。

irb(main):001:0> array = ["Ruby", "Rails", "Java", "PHP"]
irb(main):002:0> array.slice!(0, 2)
irb(main):003:0> puts array
=> ["Java", "PHP"]

こちらについてもさらに詳しく(別のメソッドも)知りたい方は、ぜひ以下の記事もご覧ください。

おすすめ記事

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

プログラミングイメージ

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

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

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

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

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

最後に

さて、ここまで、Rubyの配列の基本的な使い方についてご説明してきましたがいかがでしたか?

使い方としてはそれほど難しくはなく、一度覚えてしまえばその後も特に困ることはないと思います。

また、今回ご紹介したもの以外にも、配列に関連したメソッドは数多く存在しています。まずは導入篇として、以下の記事にて主なメソッドをご紹介していますので、こちらもぜひ確認してみてくださいね。

おすすめ記事

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

プログラミングイメージ

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

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