コードを何度も実行する方法はいくつかあります。特定の回数だけコードを実行したい場合は、for ループを使用します。この記事では、for ループの背後にあるロジックについて説明し、カウントダウンをコーディングするなどの実用的な例を示します。
for ループの動作
for ループは、実行する回数を制御するために 3 つの値を使用します。それは、制御変数、終了値、および インクリメント値です。制御変数の値から始まり、for ループは、終了値を超えるまで、ループ内でコードを実行するたびに数え上げます。正のインクリメント値はカウントアップし、負のインクリメント値はカウントダウンします。

for ループのステップ
for ループを理解するためには、その進行ロジックを示すフローチャートを見ておくと役立ちます。
まず、for ループは制御変数を終了値と比較します。

コードを実行した後、インクリメント値が制御変数に加算されます。ループは次に制御変数をチェックし、再スタートします。

制御変数が終了値を超えると、ループは停止します。例えば、ループの終了値が 10 の場合、制御変数が 10 を超えた時点で for ループは停止します。

カウントダウンをコーディングする
for ループがどのように機能するかを見るために、10 から 0 まで、1 回の数ずつカウントダウンする for ループをコードする手順を実行してください。ループが実行されるたびに、現在の制御変数の値を印刷します。
ServerScriptServiceで、PracticeLoop という名前の新しいスクリプトを作成します。スクリプトの最初に、キーワード for を入力します。
for制御変数として count という名前を作成し、初期値を 10 に設定します。
for count = 10終了値を 0 に設定するために , 0 を入力します。値を区切るためにコンマを含めることを忘れないでください。
for count = 10, 0インクリメント値を -1 にするために , -1 を入力します。ループがアクションを終了すると、インクリメント値が制御変数 count に加算されます。インクリメントが負のため、制御変数に加算されるときには減算されます。
for count = 10, 0, -1for ループを終了するには、do と入力し、Enter キーを押して end を追加します。do と end の間に入力されたコードは、ループが繰り返すたびに実行されます。
for count = 10, 0, -1 doendループ内で、制御変数 count の値を印刷し、次に wait 関数でスクリプトを遅延させてカウントダウンを作成します。
for count = 10, 0, -1 do-- for ループが現在の数を印刷しますprint(count)-- 1 秒待機task.wait(1)endプロジェクトを実行し、Output ウィンドウで for ループを確認します。
ループが イテレーション ごとに count の現在の値を印刷することに注意してください。イテレーションは、制御値のチェック、コードの実行、およびインクリメント値の更新の完全なプロセスです。制御変数は 0 から始まり、終了値である 10 を超える必要があるため、ループは停止する前に 11 回のイテレーションを経ます。
トラブルシューティングのヒント
ここまで来たら、ループが意図したように動作しない場合は、以下のいずれかを試してください。
- for ループで数値を区切るために 2 つのコンマがあることを確認してください。余分または不足しているコンマがあると、ループが開始されなくなります。
- もし for ループが一度にすべてを印刷する場合は、少なくとも 1 秒を使用する wait 関数があることを確認してください。
異なる for ループの例
for ループの 3 つの値を変更すると、ループの動作が変わります。以下は、異なる開始、終了、インクリメント値を持つ for ループの異なる例です。これらをスクリプトに入れて、何が起こるか見てみてください。
1 ずつカウントアップ
for count = 0, 5, 1 doprint(count)task.wait(1)end
偶数でカウントアップ
for count = 0, 10, 2 doprint(count)task.wait(1)end
for ループが全く実行されない場合
制御変数が以下の例のように 終了値を超えて 開始されると、for ループは全く実行されません。
for count = 10, 0, 1 doprint(count)task.wait(1)end
この場合、for ループはカウントアップを行い、count が 0 より大きいかどうかを確認しています。for ループが最初のチェックを行うと、10 が 0 より大きいことを確認し、何も印刷せずにループを停止します。
まとめ
for ループは、指示セットを特定の回数繰り返す必要があるときに使用される一般的なループの種類です。for ループを作成するには、以下の構文で 3 つの変数を使用します。
for count = 0, 10, 1 doprint(count)end
上記の例では、ループは 0 から始まります。各ループで、count 変数を印刷し、count に 1 を加算し、最後に count が 10 に等しくなったときにループを終了します。