Lua 流程控制学习笔记

1. if-else 控制语句

if-else 语句是 Lua 中最常用的流程控制语句之一。

1.1 基本语法

luaCopy Code
if condition1 then -- do something elseif condition2 then -- do something else else -- do something else again end

其中 condition 是任意可以返回布尔值的表达式或函数。

condition1 为真时,执行 do something 部分;当 condition1 不为真且 condition2 为真时,执行 do something else 部分;否则执行 do something else again 部分。

1.2 实例

luaCopy Code
local a = 10 if a > 0 then print("a is positive") elseif a == 0 then print("a is zero") else print("a is negative") end

上述代码输出结果为 a is positive,因为 a 的值大于 0。

2. while 控制语句

while 语句用于重复执行某段代码,直到条件不再成立为止。

2.1 基本语法

luaCopy Code
while condition do -- do something end

其中 condition 是任意可以返回布尔值的表达式或函数。

只要 condition 为真,就会一直执行 do something 部分。

2.2 实例

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

上述代码输出结果为 1 到 10 的数字。

3. for 控制语句

for 语句用于按照规定的顺序重复执行某段代码,通常用于遍历数组或迭代器。

3.1 基本语法

luaCopy Code
for var = start, finish, step do -- do something end

其中 var 是循环计数器变量的名称,startfinish 分别表示循环计数器变量的初始值和结束值,step 表示循环计数器变量的步长。

3.2 实例

luaCopy Code
local a = {1, 2, 3, 4, 5} for i = 1, #a do print(a[i]) end

上述代码输出结果为数组 a 中的所有元素。

4. repeat-until 控制语句

repeat-until 语句用于重复执行某段代码,直到条件成立为止。

4.1 基本语法

luaCopy Code
repeat -- do something until condition

其中 condition 是任意可以返回布尔值的表达式或函数。

只要 condition 不为真,就会一直执行 do something 部分。

4.2 实例

luaCopy Code
local i = 1 repeat print(i) i = i + 1 until i > 10

上述代码输出结果为 1 到 10 的数字。