配列
配列は、複数の値を保持できます。
変数は、1つの値しか保持できません。
配列は、配列名 = ["値1","値2","値3"]
のように、複数の値を大括弧[]で囲うことによって使用できます。
それぞれの値は、カンマ(,)で区切って表現します。
配列を使用するメリット
配列を用意して値を格納する方法には、以下のメリットがあります。
- 変数を毎回定義する必要がない
- コードがみやすくなる
- コードの記述量が減る
配列は複数の値を保持できるだけでなく、それらの値を変数に代入し、中身を出力できます。
(例)
names = ["sawamura", "yamada", "tanaka"]
puts names
#=> sawamura
# yamada
# tanaka
上記のように、配列に格納されている値が順番に表示されます。
配列の要素の取得
配列に格納されている値には、順番に番号が振られています。
この割り振られている番号をインデックス番号、配列の中に入っている値のことを要素と呼びます。
※インデックス番号は0から始まります
特定の要素を取り出す方法としては、以下のような構文を使用します。
配列名[インデックス番号]
(例)
names = ["sawamura", "yamada", "tanaka"]
puts names[0]
#=> sawamura
配列に要素を追加
配列に要素を追加する場合は、<<を使って追加できます。
names = ["sawamura", "yamada", "tanaka"]
names << "sato"
puts names
#=> sawamura
# yamada
# tanaka
# sato
pushメソッド
pushメソッドは、<<メソッドと同じく配列の末尾に新たな要素を追加するメソッドです。<<メソッドだと1要素ずつしか配列に追加できませんが、pushだと複数要素を一気に追加できるという違いがあります。
(例)
names = ["sawamura", "yamada", "tanaka"]
names.push("sato","wakabayashi")
puts names
#=> sawamura
# yamada
# tanaka
# sato
# wakabayashi
配列から要素を削除
shiftメソッド
shiftメソッドは、配列の最初の要素を削除するメソッドです。
(例)
names = ["sawamura", "yamada", "tanaka"]
names.shift
puts names
#=> yamada
# tanaka
# インデックス[0]を確認
# インデックスも更新されている
puts names[0]
#=> yamada
まとめ
- 配列には1つ1つに要素の番号を表すインデックスがある
- 配列のインデックスを指定して要素を取り出すにはnames[0]のような形を用いる
- 配列に要素を追加する場合、<<を使って追加する