Luaの制御文
Luaプログラムに必要な条件分岐と繰り返し処理を学ぶ。
ifとelseによる条件分岐
if、elseif、else で分岐を選択する。
if 条件 then
処理
elseif 別の条件 then
処理
else
処理
end
score = 70
if score >= 60 then
print("合格")
else
print("不合格")
end
等価比較には ==、不等価比較には ~= を使う。
Luaでは false と nil だけが偽である。C言語とは異なり、数値の 0 は真として扱われる。
関係演算子
| 演算子 | 意味 |
|---|---|
x < y |
xがyより小さい |
x > y |
xがyより大きい |
x <= y |
xがy以下 |
x >= y |
xがy以上 |
x == y |
xとyが等しい |
x ~= y |
xとyが等しくない |
繰り返し
条件が真の間だけ繰り返すには while を使う。
i = 1
while i <= 10 do
print(i .. ": Hello world!")
i = i + 1
end
範囲が決まっている場合は数値形式の for を使う。
for i = 1, 10 do
print(i .. ": Hello world!")
end
3番目の値で増分を指定できる。
for i = 1, 10, 4 do
print(i)
end
処理を最低1回実行する場合は repeat を使う。until の条件が真になると終了する。
i = 1
repeat
print(i)
i = i + 1
until i >= 5
ループを途中で抜けるには break を使う。
for i = 0, 10 do
print(i)
if i == 5 then break end
end
Luaには組み込みの switch 文と continue 文はない。
例: 九九表
for i = 1, 9 do
for j = 1, 9 do
io.write(string.format("%3d", i * j))
end
io.write("\n")
end
io.write() は自動改行しない。%3d は3文字分の表示領域を確保する。