【第2回】Ruby初心者向け!配列とは?

ruby

Ruby初心者向けに配列とはどういったものなのか?配列の使い方などを紹介します。

Rubyの配列とは?

配列とは簡単に言うと、オブジェクトへの参照を順番に並べたものです。

このままだと分かり辛いので、実際にコードで見てみます。

fruit = ["apple","orange","banana"]

これは、「fruit」と名付けた変数に、「apple」「orange」「banana」という文字列を格納した配列です。(厳密には参照です)

イメージとしては、フルーツバスケットにリンゴやオレンジ、バナナが入っているものと想像してみてください。

ただし、これは不規則に格納されているのではなく順番で綺麗に並んでいるものです。

つまり、フルーツバスケットの中から1番目に格納されているフルーツを取り出したい!と命令すれば、その順番に対応したフルーツが取り出されます。

ここで冒頭の文をもう一度引用します。

配列とは簡単に言うと、オブジェクトへの参照を順番に並べたものです。

つまり、フルーツというオブジェクトへの参照(取り出したいもの)が順番に並んでいるものです。

ただし、他のプログラミング言語と同じく格納されている順番は0番目からカウントします。

これは他のプログラミング言語の配列でも同じものなので、

配列は0番目からカウントする

ということを覚えておきましょう。

それでは、1番目に格納されているオブジェクト(フルーツ)を取り出したい時にはどうしますか?

変数fruitの1番目(数え方は0番目)に格納されているものを取り出してみます。

fruit[0] => "apple"

先ほど説明したように先頭は0番目からカウントするので、fruit[0]で先頭に格納されているオブジェクト(フルーツ)を取り出すことができました。

それでは次に、最後尾に格納されているバナナを取り出す場合にはどういったコードを書けばよいでしょうか?

fruit = ["apple","orange","banana"]

この場合は、

fruit[2] => "banana"

0番目、1番目、2番目と数えて2番目が最後尾なので、fruit[2]で取り出すことができますね。

なお、この[0]のように配列の順番を表す番号は「添字」と呼ばれます。

マイナスの添字も使える

ここでさらに添字について掘り下げてみましょう。

先ほどの例では、

fruit[0] => "apple"
fruit[2] => "banana"

というように正の添字を使いました。マイナスの添字は使えないのでしょうか?

実際に使うとどうなるか見ていきましょう。

fruit[-1] => "banana"

文字列”banana”が参照されましたね。

つまり、添字がマイナスの場合には配列の最後尾から逆の順番で要素がカウントされます。

 

 配列の中に格納できるもの

上記の例では、変数fruitの中にapple、orange、bananaという文字列を格納しました。

これ以外にも、数値・変数・メソッドなども格納することができます。

ちなみに、配列の中に格納したこれらの文字列などは配列を構成する「要素」と呼ばれます。

配列で使える様々なメソッド

配列はそれ自体がオブジェクトになり、様々なメソッドが用意されています。

配列のメソッドとは、簡単に言うと配列に対して何らかの処理を施すものとイメージしてください。

それでは実際に配列の要素をソートしてくれるsortメソッドを試してみましょう。

ターミナルを起動し、irbを立ち上げて確認してみます。

$ irb
irb(main):001:0> array = [5,3,7,1] 
=> [5, 3, 7, 1]

ここまでで、arrayという変数の中に5、3、7、1の数値を格納しました。

これを小さいものから順番にソート(並び替え)してみます。

なお、メソッドの使い方は変数名.メソッド名となります。

なので、この場合はarray.sortですね。

さっそくirbで実行してみましょう。

irb(main):003:0> array.sort => [1, 3, 5, 7]

5,3,7,1の順番で並んでいた数値が綺麗に小さい数から順番に並び替えられましたね。

このsortメソッドは数値だけではなく文字列でも使うことができます。

stringという変数の中に、b,c,aの順番で文字を格納してそれをソートしてみます。

irb(main):001:0> string = ["b","c","a"]
=> ["b", "c", "a"]
irb(main):002:0> string.sort
=> ["a", "b", "c"]

まとめ

今回は簡単に使えるsortメソッドを例に紹介しましたが、様々な処理をできるメソッドが配列では用意されています。

配列は必修の部分なので、しっかり抑えるようにしましょう。

 

▼関連記事

【第1回】Ruby初心者向け!ターミナルで動くコードを書いてみる

【第2回】Ruby初心者向け!配列とは?

【第3回】Ruby初心者向け!ハッシュとは?

【 第4回】Ruby初心者向け!配列とハッシュの違いとは?

【第5回】Ruby初心者向け!Rubyの変数とは?

【第6回】Ruby初心者向け!Rubyの変数の種類まとめ

【第7回】Ruby初心者向け!Rubyの文字列とは?

【第8回】Ruby初心者向け!Rubyの数値とは?

【第9回】Ruby初心者向け!Rubyのメソッドの使い方

【第10回】Ruby初心者向け!Rubyのクラスの使い方



カテゴリー