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

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

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

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

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

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

おすすめ記事

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

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

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アプリケーションを開発する中で、配列は必ずと言ってよいほど使用することとなるオブジェクトになります。 […]

プログラミングイメージ

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

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