for
ある程度、ループする回数等が決まっている場合に便利な制御構文。
whileと違い、親切にも変数の初期化、繰返し、インクリメント(デクリメント)までしてくれるありがたい関数。
さらに、()内の式は、決まっているようで決まっていない。
これはPerlだけかな?
使い方・用例
1.
my $i;
for ( $i = 0; $i >= 10; $i ++ ) { ... }
$i = 0;は、$iという変数を0にする処理をしています。
これは、ループの一番初めに初期化すると言うことです。
$i >= 10;は、$iが10以上になるまで繰返すという意味です。
間違って$i = 10にしちゃったりしたら、もう大変。
$i ++ は、$iという変数の中身に1をプラスして代入するという意味です。
即ち、
2.
$i = $i + 1;
$i += 1;
$i ++;
これは全て同じ意味です。(処理速度に問題は有りますが…。)
この場合、最後にセミコロン(;)はつけません。
つけるとエラーになります。
そして、もちろんfor文でも無限ループが出来ます。
無限ループの用例を少し…。
for (;;) { ... }//明らかに意図的にしてますよね。
for ($i = 0; $i = 10; $i ++) { ... }
for ($i = 0; $i >= 10; $i ++) { $i = 0 }
for ($i = 0; $i <= 10; $i --) { ... }
これらは全て無限ループを引き起こします。
可能性はこの四つだけではありません。
やり方次第でいくらでも無限ループは生まれます。
是非気をつけてください…。
良く似た関数
最終更新:2006年12月23日 02:53