変数では1つのオブジェクトしか代入できませんが、配列はオブジェクト(要素)を複数格納することができるので、複数のオブジェクトを管理する場合には非常に便利です。書き方としては下のようになります。
1 |
配列名 = ["要素1", "要素2", "要素3"] |
もし、「じゃんけん」で出される手の種類を表現したい場合で変数を使うと下のようになります。
1 2 3 |
janken1 = "rock" janken2 = "paper" janken3 = "scissors" |
これでは記述がめんどくさく後から管理もしづらそうですよね。(笑)これを配列に直すとかなりスッキリと書くことができます。
1 |
janken = ["rock", "paper", "scissors"] |
ここから要素を取り出したい場合は↓のように「配列名[インデックス(番号)]」と記述すればOKです。
1 |
p janken[1] |
"paper"
配列の番号は「0」が最初となるので注意が必要です。今回の場合はjanken[1]としたので、左から2番目の「”paper”」が出力されることになります。
要素の書き換え
配列の要素を書き換えたい場合は↓のような「配列名[番号]」に置き換えたい文字を「=」で代入するという書き方でOKです。
1 2 3 |
janken = ["rock", "paper", "scissors"] janken[0] = "gu-" p janken |
["gu-", "paper", "scissors"]
要素数を増やす
配列の要素数を増やすにはまだ存在していない「配列名[番号]」を指定して要素を代入すればOKです。
1 2 3 4 |
janken = ["rock", "paper", "scissors"] janken[3] = "gu-" janken[5] = "tyoki" p janken |
["rock", "paper", "scissors", "gu-", nil, "tyoki"]
janken[5]に”tyoki”を入れた場合はjanken[4]の値がありませんね。その場合、Rubyの配列は自動的に大きくなるので「存在していない」「空の値」という意味合いの「nil」がjanken[4]に入ります。
先に空の配列を作る
また、先に空の配列を指定しておいて後から要素を追加することもできます。
1 2 3 4 5 |
janken = [] janken[0] = "gu-" janken[1] = "pa-" janken[2] = "tyoki" p janken |
["gu-", "pa-", "tyoki"]
コメントを残す