【Lua言語講座】16.制御構文(3)-for文-

Lua言語講座

こんにちは、ロブスタのハルです!
前回の講座ではwhile文について解説し、演習を行いました。
今回は制御構文の3つ目for文について解説します。
前回の講座を見ていない方はこちらからご覧ください。

for文について

制御構文せいぎょこうぶんの内ある条件じょうけんの間り返す文にはwhile文の他にfor文があります。
forフォー文は回数が決まっている繰り返し処理を実行する役割を持っています。一般的にforループと呼ばれることが多いです。

現実世界で例を出すと、3回じゃんけんをするとか2つの植物に水をやる、6個の商品をさがしてカートに入れるなどの動作を表します。

for文をコードで書くと次のようになります。

for カウント変数 = 初期値, 終了値(, 増分)do
    処理内容
end

※forは~の間、doドゥは~するといった意味を持ちます。

初期値しょきちは一番最初のカウント変数の数値、終了値しゅうりょうちは一番最後のカウント変数の数値、増分ぞうぶんは何個ずつカウント変数の数値を増やしていくのかという数値です。増分は省略しょうりゃくすることもでき、その場合は1となります。

例題

for i = 1, 10 do
    print(i)
end

上の例は1~10までの数字を出力するプログラムです。
初期値としてi = 1が代入されています。そして2行目でiの中身である1が出力されます。次にiに増分の1を足した2が代入されて…という処理がi = 10まで繰り返されます。

for j = 0, 10, 2 do
    print(j)
end

上の例は0~10までの偶数を出力するプログラムです。
初期値としてj = 0が代入されており、そこに増分の2ずつ足された数が出力されることになります。

カウント変数にはi, j, kなどの文字が使われることが多いです。

for文とwhile文の変換

while文とfor文はたがいに変換へんかんすることができます。

for i = 1, 10 do
    print(i)
end
local i = 1

while i <= 10 do
    print(i)
    i = i + 1
end

上の例でわかるようにwhile文は基本的にどんなループも書くことができますが、for文は回数が決まっているループを書く場合により手軽に書くことができます。また、Lua言語(Luau)ではfor文で無限むげんループを表すことができないので注意しましょう。

まとめ

  • for文は回数が決まっている繰り返し処理を実行する
  • while文は基本的にどんなループも書けるがfor文は回数が決まっている場合に使う

お疲れ様でした。今回は制御構文の一つであるfor文について解説しました。while文とfor文の使い分けは初めは難しく感じますが、段々と使いこなせるようになるので安心してくださいね。ゲーム制作ではfor文を使うことの方が多いように感じます。

次回はfor文を使った演習を行います。

コメント

タイトルとURLをコピーしました