Essential ActionScript 3.0 読書メモ 第20回 whileループ

ActionScriptには、5種類のループがある。while, do-while, for, for-in, for-each-inである。このうち、while, do-while, forは一般的なループであり、for-inとfor-each-inはダイナミックインスタンスにアクセスするために用いられるループである。

while文は次のように書く。

while (testExpression) {
    codeBlock
}

while文では、testExpressionの値がtrueである間、codeBlockに書かれた処理が繰り返し実行される。
例:

var total = 2;
var counter = 0;

while (counter < 2) {
    total = total * 2;
    counter = counter +1;
}

この例では、counterが2になるまで、すなわち2回コードブロックが実行され、結果としてtotalの値は8、counterの値は2になる。

なお、実際に階乗の計算を行いたい場合、ループではなく Math.pow()を利用すべき。
例:

Math.pow(2, 3); // 8(2の3乗)

以下、ループによって文字列に「@」が含まれているかを判定するサンプルプログラム。

var address = “me@mock.org”;
var isValidAddress = false;
var i = 0;

while (i < address.length) {
    if (address.charAt(i) == “@”) {
        isValidAddress = true;
        break;
    }
}

Stringクラスのlengthというインスタンス変数には、文字列の長さが入っている。
例:
“a”.length // 1
“123”.lenght // 3

StringクラスのcharAt()メソッドは、文字列から該当する順番の文字を取り出して返す。
例:
“abc”.charAt(0) // “a”
“123”.charAt(1) // “2”

ループは通常、テスト条件がfalseになった場合に終了するが、break文が実行されると、そこでループは終了する。

“me@mock.org”には、3番目に@が含まれているので、このコードを実行した際のisValudAddressの値はtrueになる。

今日の進捗:338→376/4343

コメントを残す