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
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