ここでは条件分岐やループについてに説明をしていきます。
条件分岐
IF
IF文は条件によって処理を分岐させる時に用います。
例えば変数aが0の時に特定の動作をさせたい場合は以下のように記述します。
if a == 0 then 処理内容 end
else
IFだけではひとつの分岐ですがこれを真と偽で2種類に分けたい場合、else文を使うことが出来ます。
if a == 0 then 処理内容1 else 処理内容2 end
elseif
IF文の後に続けて条件を指定する場合には、以下の2通りの方法があります。
- IFを連続させる方法
if a == 0 then 処理内容 end if a == 1 then 処理内容 end
- elseifを使う方法
if a == 0 then 処理内容 elseif a == 1 then 処理内容 end
厳密には少し処理が違いますが、上の2つはほぼ同じ処理です。
自分で分かりやすい方法を使用して構いません。
関係演算子
DSLuaの条件式には以下の関係演算子を使用できます。
表記方法 | 条 件 |
== | 左右が等しい |
~= | 左右が等しくない |
> | 左が大きい |
< | 右が大きい |
>= | 左は右以上 |
<= | 右は左以上 |
論理演算子
また、以下の論理演算子を用いることで条件式を連結することが出来ます。
表記方法 | 意 味 |
and | 左右両方が等しければ真 |
or | 左右のどちらかが正しければ真 |
not | 条件式の否定 |
ループ
繰り返し構文には種類が複数あります。
while
条件式が真の間、ループを続ける
while 条件式 do 処理内容 end
repeat
条件式が偽の間、ループを続ける
repeat 処理内容 until 条件式
for
処理を1回繰り返すごとに変数に増分を加算し、条件式が真の間ループを続ける。
増分を省略した場合には1ずつ加算されていく。
for 変数=初期値,条件式(,増分) do 処理内容 end
break
ループ文の途中にbreakを実行すると、一番内側のループを抜けることが出来る。