【Rails基礎講座 2】Ruby入門 >
配列

配列

このチャプターでは配列とは何かを学び、配列の扱い方のマスターを目指します。

吉田先生

変数や条件分岐に続いて配列です。 このチャプターはなんだかタイトルを見ると全部がとても難しそうに感じますね。

でも配列は変数さえ理解できていれば恐がる必要はありません。わからなくなったら変数のレッスンへ戻って復習してみてくださいね。

配列とは

1.配列とは

変数とは1つの箱に1つのデータ(値)を代入したものでした。

これに対して配列はひとつの箱に複数のデータを入れることができます。

 

2.配列に値を代入する

それでは実際に、Cloud9で配列に値を代入してみましょう。ターミナルで$irbとコマンドを入力してください。 

students = ["吉田","田所","峰","伊藤",]

と入力します。変数の時と同様に、studentsという箱には「吉田 田所 峰 伊藤」という値を代入するという意味で=(イコール)を使用しています。

このような表示になっていれば、配列に複数の値を代入することができています。

3.値の参照

配列のデータ(値)にはそれぞれ0から始まる番号がふられています。

4.特定のデータを参照する方法

複数あるデータの中の1つの中身を参照する場合は、参照したいデータ(値)の番号を指定します。

では先ほどのターミナルの続きから実際に[3]の値を取り出してみましょう。

上の図のように"伊藤"の値をとりだすことができたら他の値も確認してみましょう。

値の追加

現在は

吉田(0) 田所(1) 峰(2) 伊藤(3)

と4つの値が配列の中には入っています。

ここに、新しく 安川(4)という値を追加する場合の方法を2通り解説します。

1.番号を追加して新しい値を代入する方法

1つ目は新たに加える番号(箱)に値を代入する方法です。

students[4] = "安川"

studentsという配列の新しい箱(students[4])に安川という値を代入(イコールで結ぶ)ことで値を追加します。

2.番号を使わずに値を追加する方法

2つ目の方法は番号を使わずにに値の追加のみを指定する方法です。 例えば1つの配列で、値の追加や削除などを繰り返している場合や、配列に既にたくさんの値を代入しているなどの場合、 番号を指定せずに値を追加できる為便利です。

students<<”安川”

と入力すると値が追加されます。

課題

実際にターミナルに入力して値を追加してみましょう。

繰り返し処理

このチャプターでは繰り返し処理を学びます。

1.繰り返し処理とは

繰り返し処理とは配列の中身(データ)を順番に繰り返すということです。

例えば、1つのニュースの記事(クリップ)に対して10件のコメントがついていた場合を考えてみてください。 commentsという配列(箱)の中には10件のコメント(値)が代入されています。

繰り返し処理を使うことで、配列の中の10件のコメントを順番に繰り返し表示させることができます。

実際にアプリ開発でもよく使う処理なのでこのチャプターで繰り返し処理をマスターしましょう。

2.テスト用ファイルの準備

実際に配列を作成し、配列の中身を全て表示させてみましょう。

testフォルダに新しく、hairetsu.rbファイルを作成してください。

3.ファイルに配列を追加する

次にhairetsu.rbファイルに前章で作成したstudenetsという配列を記述して保存しましょう。

これで準備完了です。

4.繰り返し処理のコード

繰り返し処理のコードは以下の通りです。

    配列.each do |変数|
        繰り返したい処理
    end     

これだけ見るとなんだか難しそうに感じますが、変数と配列をマスターしていれば実は簡単に理解できます。

さきほどの

吉田(0) 田所(1) 峰(2) 伊藤(3) 安川(4)

の配列を例にして解説します。

1.繰り返し処理を分解

配列とは複数の値が代入された箱のことでしたね。つまり、students(箱)が配列ということです。

また変数とは1つの値が代入された1つの箱のことでしたね。

つまり、studentsという配列の中にある値それぞれが変数ということになります。

つまり

配列.each do |変数|

の部分は

students.each do |student|

となります。

繰り返したい処理については、今回は「studentsという配列の中の値を全て表示させたい」ということなので、 指定した値を出力する"puts"を使います。

指定するのは配列の中にある変数なので、繰り返したい処理は

puts student

となります。

    配列.each do |変数| 
        繰り返したい処理
    end     

    students.each do |student|
        puts student
    end     

となります。

2.実践してみよう

実際にhairetsu.rbファイルにコードを追加して処理を確認してみましょう。

前章の条件分岐と同様にファイルの中身を実行するコマンド$ ruby ファイル名前を実行します。

ここで注意してほしいのは、ファイルを実行する場合、 必ず実行したいファイルが入っているフォルダに移動してからコマンドを実行するという点です。

この場合、hairetsu.rbファイルはtestフォルダの中にある為、$ cd testでtestフォルダに移動してからコマンドを実行しています。

$ ruby hairetsu.rb

というコマンドを実行すると、hairetsu.rbファイル内の繰り返し処理のコードが実行され、studentsという配列内の全ての値がターミナルに表示されています。

無料ビデオ講座のお知らせ

Skillhub [スキルハブ]では無料の動画講座を多数公開しています。他校だと数万円するような講座が無料で受講できます。

無料講座一覧を見る