吉里吉里/tjs2解説
繰り返し for
最終更新:
Bot(ページ名リンク)
-
view
繰り返しにはwhileとdo~whileを紹介しましたが、forというものもあります
for(第1節;第2節;第3節) { 繰り返されるスクリプト }
それぞれの節の間は;で区切ります
第1節はループに入る前に1度だけ実行されます
第2節はループさせるかどうかの条件式です。whileにはこの第2節に当たる部分しかありませんでした
第3節は繰り返されるスクリプトを実行した後に毎回実行されます
第1節はループに入る前に1度だけ実行されます
第2節はループさせるかどうかの条件式です。whileにはこの第2節に当たる部分しかありませんでした
第3節は繰り返されるスクリプトを実行した後に毎回実行されます
for文の動作 1.まず、第1節を実行する 2.第2節が偽ならば繰りかえされるスクリプトを実行せずにループを抜ける(3.,4.は無視される) 真ならば繰り返されるスクリプトを実行する 3.第3節を実行する 4. 2.に戻る
第1節はループに入る時の最初だけ、第3節は繰り返されるスクリプトを実行する度に毎回実行されるという事を気をつけて下さい
また、節はそれぞれ省略する事ができます。省略するとそこでは何も実行されません。
ただし第2節を省略すると常に真となり、無限ループとなります
ただし;は必ず書いて下さい
×for()
○for(;;)
※ifなどと同じように、{}の中の文が1つだけならば{}は省略できます
また、節はそれぞれ省略する事ができます。省略するとそこでは何も実行されません。
ただし第2節を省略すると常に真となり、無限ループとなります
ただし;は必ず書いて下さい
×for()
○for(;;)
※ifなどと同じように、{}の中の文が1つだけならば{}は省略できます
// for文を使ってFizzBuzz
var i;
for(i = 0; i < 101; i = i + 1) {
if (i % 15 == 0) {
// iが15で割り切れたらFizzBuzzと表示
Debug.message("FizzBuzz");
} else if (i % 3 == 0) {
// iが3で割り切れたらFizzと表示
Debug.message("Fizz");
} else if (i % 5 == 0) {
// iが5で割り切れたらBuzzと表示
Debug.message("Buzz");
} else {
// 割り切れなかったらiをそのまま表示
Debug.message(i);
}
}
// 第1節を省略したサンプル
var i = 0;
for(; i < 101; i = i + 1) {
if (i % 15 == 0) {
// iが15で割り切れたらFizzBuzzと表示
Debug.message("FizzBuzz");
} else if (i % 3 == 0) {
// iが3で割り切れたらFizzと表示
Debug.message("Fizz");
} else if (i % 5 == 0) {
// iが5で割り切れたらBuzzと表示
Debug.message("Buzz");
} else {
// 割り切れなかったらiをそのまま表示
Debug.message(i);
}
}
最初にiを0で初期化しているので、第1節で再び0を代入する必要はありません
よって第1節は省略することが出来ます
よって第1節は省略することが出来ます