ステップ幅を指定するforループ
CoddyのLuaジャーニー「基礎」セクションの一部。レッスン 74/90。
数値型のforループは、ステップと呼ばれる3つ目の引数を加えると、さらに強力になります。ステップは、ループを繰り返すたびにループ変数がどれだけ変化するかを制御します。
展開した構文は次のようになります。
for variable = start, finish, step do
-- 繰り返し実行するコード
end1ずつではなく2ずつ数える例を見てみましょう。
for i = 2, 10, 2 do
print(i)
endこのループは2から始まり、10まで進み、毎回2ずつ増やして、2, 4, 6, 8, 10を出力します。
負のステップを使って、逆方向に数えることもできます。
for i = 5, 1, -1 do
print(i)
endこれは5から1までカウントダウンし、5、4、3、2、1と表示します。
ループは、ステップの方向に終了値を超えることになるとすぐに停止します。for i = 1, 5, -1のように、開始値がすでに終了値を超えている場合、本体は一度も実行されません。
ステップを使うと、ループの進み方を正確に制御できるため、リストの項目を1つおきに処理したり、カウントダウンを作成したり、特定の数列を扱ったりするタスクに最適です。
チャレンジ
簡単ステップを使って3の倍数を表示する数値のforループを使った九九表ジェネレーターを作成しましょう。3から始まり、15まで進み、ステップを3にして3の倍数だけを出力するforループを書きましょう。
ループ内では、それぞれの倍数を別々の行に出力しましょう。これにより、ステップパラメーターが値を飛ばしてループの進行を制御する方法を確認できます。
自分で試してみよう
-- TODO: ここにコードを書いてください
-- 3から始まり、3ずつ増えて15まで続くforループを作成してください
-- 各倍数をそれぞれ別の行に出力してくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ