【Ruby超入門コース】08.配列|変数を箱。配列をロッカーに例えて解説します

Ruby超入門コース

この記事の執筆・監修

キノコード
キノコード    

テクノロジーアンドデザインカンパニー株式会社のCEO。
日本最大級のプログラミング教育のYouTubeチャンネル「キノコード」や、プログラミング学習サービス「キノクエスト」を運営。
著書「あなたの仕事が一瞬で片付くPythonによる自動化仕事術」や、雑誌「日経ソフトウエア」や「シェルスクリプトマガジン」への寄稿など実績多数。

はじめに

こんにちは。キノコードです。
「【5分レッスン】Ruby超入門コース#08 配列」について説明します。

配列とは?

配列とは、複数のデータを格納することができるものです。
変数のレッスンで、変数は「箱」と説明しました。
例えるなら、変数は1つのデータしかいられない「箱」なのに対して、配列は複数のデータを入れることができる「ロッカー」です。
1列の配列のことを1次元配列といい、2列以上ある配列は多次元配列といいます。
配列の1つ1つの箱のことを要素といい、箱の数を要素数といいます。
配列のそれぞれの要素には、場所の情報が割り当てられています。
データが住んでいる住所のようなものです。
この住所には、インデックス番号というものが割り当てられています。
インデックス番号のことを「添え字」といったりもします。このレッスンでは、インデックス番号という名前で進めていきます。
一番左のインデックス番号は0から始まります。1から始まるわけではないので注意です。
そのため、1番最初のインデックス番号は「0」、2番目のインデックス番号は「1」、3番目は「2」、4番目は「3」といったように、インデックス番号は配列が格納されている「順番 - 1」となっています。。

配列の宣言

それでは、配列の作り方をみていきましょう。
配列の作り方を2つ紹介します。
Array.newメソッドを使う方法と、括弧を使って作る方法です。
まずは、Array.newメソッドを使う方法からみていきましょう。
書き方のきまりは次のとおりです。
変数 = Array.new(要素数)
まず、配列を代入する変数を書きます。
変数イコール、Array、ドット、小文字のnewを書いて丸括弧。丸括弧の中に要素数を書きます。
以上の書き方で、配列を作ることができます。
コードを書いてみていきましょう。

a = Array.new(3)

まず、どのようなコードを書くか説明します。
配列という英単語のarrayの前三文字をとったarrという変数に、’sato’,'suzuki','takahasi'という3つのデータを代入する配列を作ってみましょう。
これで要素数が3の配列ができました。

配列の要素の変更方法

配列の作り方の2つめです。角括弧を使う方法です。こちらの方が簡単です。
書き方のきまりは次のとおりです。
変数 = [データ1,データ2,….]
角カッコの中に、配列の要素のデータを記述していきます。
コードを書いて説明していきます。

a = Array.new(["sato", "suzuki", "takahashi"] )

p a[0]
p a[1]
p a[2]

角カッコの中にデータを直接記述します。
表示させてみましょう。
先ほどと同じ結果になりました。

a = ["sato", "suzuki", "takahashi" ]

a[1] = "tanaka"

p a[0]
p a[1]
p a[2] 

配列のデータの変更をしてみましょう。
要素を指定して代入をすればオッケーです。
配列の2番目のsuzukiをtanakaにしてみます。
2番めなので角括弧に書く要素数は1です。
実行してみましょう
2番めの要素が"suzuki"ではなく、"tanaka"になっていることが確認できました。

多次元配列

arr = [ ["sato","suzuki"],["takahashi","tanaka"] ]

p arr[0][0]
p arr[0][1]
p arr[1][0]
p arr[1][1]

次に多次元配列についてみていきましょう。
多次元配列とは、2列以上ある配列のことです。
2次元配列の場合は、角括弧の中に角括弧を書き、そこに代入するデータを記述します。
要素へのアクセスについては、角括弧を2回使用すれば良いです。
satoさんは、1つのリストの、1番目です。なので、0の0です。
suzukiさんは、1つのリストの、2番目です。なので、0の1です。
tanakaさんは、2つのリストの、1番目です。なので、1の0です。
takahashiさんは、2つのリストの、2番目です。なので、1の1です。
表示してみましょう。
sato、suzuki、takahashi、tanakaが表示されました。

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト