配列


特徴:複数のものを入れることが出来る!

もし、前項でお話したスカラー変数を理解出来ない方は、配列をマスター出来ません。というより、スカラー変数さえ判れば後の変数は楽勝です。もし理解していない方は、ご面倒でも再度スカラー変数の章をご覧下さい。
さて、配列には複数の値を入れることが出来ます。文で説明するより見たほうが早いと思うので下記の表をご覧下さい。

変数の種類
表:1(値を出力)
$a=2;
$b=10;
$c="北海道";
$d="九州";
$e="飛行機";

私は$a日後から$b日間のお休みに入るので、$cから$dへ $eで旅をします。

答え:私は2日後から10日間のお休みに入るので、北海道から九州へ飛行機で旅をします。
こちらは前項で説明したスカラー変数です。文が長くなれば、自ずとプログラムの内容も長くなります。それに変数名もたくさん増えてしまい、覚えるのもやっとです。それらを解決してくれるのが配列です。それでは下記の配列と比べてみましょう。

こちらは前項で説明したスカラー変数です。文が長くなれば、自ずとプログラムの内容も長くなります。それに変数名もたくさん増えてしまい、覚えるのもやっとです。それらを解決してくれるのが配列です。それでは下記の配列と比べてみましょう。

表:2(要素の出力)
@test = (2,10,"北海道","九州","飛行機");

私は$test[0]日後から$test[1]日間のお休みに入るので、$test[2]から$test[3]へ $test[4]で旅をします。

答え:私は2日後から10日間のお休みに入るので、北海道から九州へ飛行機で旅をします。
どうでしょうか?確かに短くなりました。それにいちいち変数名を覚えなくても、test内のリストにアクセスするだけです。そして配列@の要素を呼び出すには、$+変数名+[要素番号]で呼び出せます。
 サンプルテストを見ての通り、表示はスカラー変数と同じです。記述方法は、スカラー変数の「$」の部分を「アットマーク(@)」に置き換え、代入する要素(スカラー変数の値を配列では要素と呼ぶ)をリスト順(0から数える)に記述する。(,)で区切り、文字は(”)で囲んでください。(数字に関しては囲まないで結構です。
表:3(簡易説明)
@test= ( " 2 "," 0 "," 9 ・・・・・・・)



配列@test[2]番目の要素
配列@test[1]番目の要素
配列@test[0]番目の要素


上記説明を見ると1番目の要素が@test[0]となっています。これはプログラムにより異なりますが、Perlの場合、0から数えるのが基本です。ということは、2番目の要素は@test[1] 3番目の要素が@test[2]となります。そして、要素の中に文字を入れる場合は必ずダブルクォーテーション(”)で囲んでください。

表:3(特殊な使用例)
@test=($sukara,10,”北海道”,”九州”);
要素としてスカラー変数を入れる事もできます。
@test=(1..5);
@test=(1,2,3,4,5);と同じ意味となります。
@test=(1..5,10,30,20,5);
@test=(1,2,3,4,5,10,30,20,5);と同じ意味となります。