if语句

boolean只有两个值:false、true,Lua把nil看作false,其他都为true,数字0也为true

if语法

  1. if (布尔表达式) then
  2. -- true时执行
  3. end
  4. if (布尔表达式)
  5. then
  6. -- true时执行
  7. else
  8. -- false时执行
  9. end

if示例

  1. a = 1;
  2. if (a > 0)
  3. then
  4. -- 嵌套if
  5. if (a > 0) then
  6. print("true");
  7. end
  8. else
  9. print("false");
  10. end

for循环

for语法

  1. -- var exp1 变化到 exp2,每次变化以 exp3 为步长递增 var,并执行一次 "执行体"
  2. -- exp3 是可选的,如果不指定,默认为1
  3. for var = exp1, exp2, exp3 do
  4. -- 循环体
  5. end
  6. -- 循环数组
  7. for i, v in ipairs(arr) do
  8. -- 循环体
  9. end

for示例

  1. -- 步长为2,每次+2
  2. for i = 1, 10, 2 do
  3. -- 循环体
  4. end
  5. -- 步长为-1,每次-1
  6. for i = 10, 1, -1 do
  7. -- 循环体
  8. end
  9. -- 循环数组
  10. arr = {"a", "b", "c"}
  11. for i, v in ipairs(arr) do
  12. -- 循环体
  13. end

while循环

while语法

  1. while (condition)
  2. do
  3. -- 循环体
  4. end

while示例

  1. i = 0
  2. while (i < 10)
  3. do
  4. print(i)
  5. i = i + 1
  6. end

repeat…until循环

简介

与其他语言的 do while类似,先执行一遍循环体,再进行条件判断。唯一不同点是:如果until表达式为false则继续执行循环体,如果表达式为true则跳出循环。

语法

  1. repeat
  2. -- 循环体
  3. until (true)

示例

  1. i = 1
  2. repeat
  3. print(i)
  4. i = i + 1
  5. until (i > 1)

image.png