Menu
CoddyTech

ステップ幅を指定するforループ

CoddyのLuaジャーニー「基礎」セクションの一部。レッスン 74/90。

数値型のforループは、ステップと呼ばれる3つ目の引数を加えると、さらに強力になります。ステップは、ループを繰り返すたびにループ変数がどれだけ変化するかを制御します。

展開した構文は次のようになります。

for variable = start, finish, step do
    -- 繰り返し実行するコード
end

1ずつではなく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つおきに処理したり、カウントダウンを作成したり、特定の数列を扱ったりするタスクに最適です。

challenge icon

チャレンジ

簡単

ステップを使って3の倍数を表示する数値のforループを使った九九表ジェネレーターを作成しましょう。3から始まり、15まで進み、ステップを3にして3の倍数だけを出力するforループを書きましょう。

ループ内では、それぞれの倍数を別々の行に出力しましょう。これにより、ステップパラメーターが値を飛ばしてループの進行を制御する方法を確認できます。

自分で試してみよう

-- TODO: ここにコードを書いてください
-- 3から始まり、3ずつ増えて15まで続くforループを作成してください
-- 各倍数をそれぞれ別の行に出力してください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Luaオンラインコンパイラ