こんにちは、ロブスタのハルです!
前回の講座では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文を使った演習を行います。
コメント