アットウィキロゴ

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