Lua 流程控制


Lua 流程控制

Lua 作为一种脚本语言,在程序设计中,流程控制是一个非常重要的概念。Lua 中有三种主要的流程控制结构:条件语句、循环语句和迭代器。

条件语句

条件语句包括 if、else 和 elseif 三个关键字,可以用来控制程序的执行流程。

  • if

if 语句包含一个条件表达式和一个代码块,如果条件表达式为 true(非 nil 或 false),则执行代码块的内容。应该注意 if 语句最后没有分号。

if condition then
    statements
end
  • if-else

else 语句用于 if 语句的替代方案,可以用来实现一个二选一的逻辑。

if condition then
    statements
else
    statements
end
  • elseif

elseif 用于在条件为 false 时,判断新的条件。

if condition_1 then
    statements
elseif condition_2 then
    statements
else
    statements
end

循环语句

循环语句包括 while、repeat 和 for 三个关键字,可以用来重复执行代码块中的命令。

  • while

while 语句重复地执行语句,只要条件为 true。

while condition do
    statements
end
  • repeat

repeat 循环重复执行一个代码块,直到条件为 true。

repeat
    statements
until condition
  • for

for 语句和 C 语言风格的 for 循环类似。

数值循环

for var = start, end, step do
    statements
end

泛型循环

for i, v in ipairs(t) do
    statements
end

迭代器

迭代器是一种方法,用于遍历序列中的每个元素。迭代器可以用在泛型循环中。

ipairs()

ipairs() 函数是 Lua 语言中的一种迭代器,其常用于数组中。

for i, v in ipairs(t) do
    statements
end

pairs()

pairs() 函数是 Lua 语言中的默认迭代器,其可用于遍历 Lua 中的表。

for k, v in pairs(t) do
    statements
end

总结

Lua 语言中,流程控制分为条件语句、循环语句和迭代器三种。其中条件语句包括 if、else 和 elseif 三种关键字,用于控制程序的执行流程;循环语句包括 while、repeat 和 for 三种关键字,可用来重复执行代码块中的命令;迭代器是一种遍历序列中每个元素的方法,用于泛型循环中。熟练掌握流程控制语句和迭代器,可以写出流畅、简洁的 Lua 代码。