https://emily.shillest.net/ayaya/index.php?マニュアル/基本/配列
配列は、変数の集まりみたいなものです。
ただの変数だと
_a = 1 _b = 2 _c = 3 _d = 4 _e = 5 _sum = _a + _b + _c + _d + _e;
となりますが、配列だと
_a = (1,2,3,4,5); _sum = _a[0] + _a[1] + _a[2] + _a[3] + _a[4];
とかかけます。(0から始まっているので、最後が4なことにちょっと注意)
配列は繰り返しと組み合わせることで、真の威力を発揮します。
先ほどのように、_a[0], _a[1], _a[2], ・・・と書かずに、以下のようにもかけます。
_a = (1,2,3,4,5); _sum = 0; for _i = 0 ; _i < 5 ; i++ { _sum += _a[_i]; }
_a[0], _a[1], _a[2],・・・の代わりに、変数の _i を使っても、_aのそれぞれの値を取得できます。
_i の中身は for の中で、5未満の時、1 づつ足されていくので、順に_a[0], _a[1], _a[2]・・・と見ていくことになります。
上の例だと、あらかじめ配列の大きさが「5」であって、
そこで終わっていることがわかっていないと書けませんが、
以下のようにすることで、配列の大きさに関係なく、記述することができるようになります。
_a = (1,2,3,4,5); _sum = 0; for _i = 0 ; _i < ARRAYSIZE(_a) ; _i++ { _sum += _a[_i]; }
ARRAYSIZE()は、_aの配列の大きさを判定して、「5」を返します。
_aは配列であれば、大きさがなんであってもかまわないことになります。
配列には、文字も入ります。
_sweets = ("プリン", "チョコレート", "クレープ", "甘口いちごスパ") _talk= ""; for _i = 0 ; _i < ARRAYSIZE(_sweets) ; _i++ { _talk += _sweets[_i] + "に"; } "\1\s[10]\0\s[0]" + _talk + "・・・今日は全部食べちゃうよ!\1なんかまざっとる!\e";
foreach楽です。_i = 0 も ARRAYSIZE() も _i++もいりません。
かわりに、_a[_i]に当たるもの(ここでは_var)を書けばOKです。
_a = (1,2,3,4,5); _sum = 0; foreach _a ; _var { _sum += _var; }
_varには、_aの中身が順に入ってきます。
配列の最後までいくと、自動的に終わります。
Last modified on: 2008-04-16 (Wednesday) 12:40:52
|