• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

关闭

返回栏目

关闭

返回Lua栏目

10 - 基本语法 - 控制结构 - for、while 循环语句

作者:

贺及楼

成为作者

更新日期:2025-02-27 21:38:20

Lua 《基本语法 - 控制结构 - for、while 循环语句》

在编程的世界里,循环语句是一种强大的工具,它允许我们重复执行一段代码,从而提高代码的效率和可维护性。Lua 作为一种轻量级的脚本语言,提供了多种循环结构,其中 forwhile 循环是最常用的两种。本文将详细介绍这两种循环语句的使用方法,并通过示例代码进行演示。

1. for 循环语句

1.1 数值型 for 循环

数值型 for 循环是 Lua 中最常用的循环结构之一,它用于按照指定的数值范围重复执行一段代码。其基本语法如下:

  1. for var = start, end, step do
  2. -- 循环体
  3. end
  • var:循环变量,用于控制循环的执行次数。
  • start:循环变量的初始值。
  • end:循环变量的终止值。
  • step:循环变量每次递增或递减的值,可选参数,默认为 1。

下面是一个简单的示例,计算 1 到 10 的整数之和:

  1. local sum = 0
  2. for i = 1, 10 do
  3. sum = sum + i
  4. end
  5. print("1 到 10 的整数之和为:", sum)

在这个示例中,循环变量 i 从 1 开始,每次递增 1,直到达到 10 为止。在每次循环中,将 i 的值累加到 sum 变量中,最终输出结果。

如果需要指定步长,可以在循环中添加第三个参数。例如,计算 1 到 10 之间的偶数之和:

  1. local sum = 0
  2. for i = 2, 10, 2 do
  3. sum = sum + i
  4. end
  5. print("1 到 10 之间的偶数之和为:", sum)

在这个示例中,循环变量 i 从 2 开始,每次递增 2,直到达到 10 为止。

1.2 泛型 for 循环

泛型 for 循环用于遍历迭代器返回的值,通常用于遍历数组、表等数据结构。其基本语法如下:

  1. for var1, var2, ... in iterator do
  2. -- 循环体
  3. end
  • var1, var2, ...:用于接收迭代器返回的值。
  • iterator:迭代器函数,用于生成一系列的值。

下面是一个遍历数组的示例:

  1. local fruits = {"apple", "banana", "cherry"}
  2. for index, value in ipairs(fruits) do
  3. print("第", index, "个水果是:", value)
  4. end

在这个示例中,使用 ipairs 迭代器函数遍历数组 fruits,每次循环中,index 变量接收数组的索引,value 变量接收数组的值。

2. while 循环语句

while 循环用于在条件为真的情况下重复执行一段代码。其基本语法如下:

  1. while condition do
  2. -- 循环体
  3. end
  • condition:循环条件,当条件为真时,循环体将被执行;当条件为假时,循环结束。

下面是一个简单的示例,计算 1 到 10 的整数之和:

  1. local sum = 0
  2. local i = 1
  3. while i <= 10 do
  4. sum = sum + i
  5. i = i + 1
  6. end
  7. print("1 到 10 的整数之和为:", sum)

在这个示例中,循环条件为 i <= 10,只要 i 的值小于等于 10,循环体就会被执行。在每次循环中,将 i 的值累加到 sum 变量中,并将 i 的值加 1。

3. 总结

循环语句 语法 适用场景
数值型 for 循环 for var = start, end, step do ... end 按照指定的数值范围重复执行代码
泛型 for 循环 for var1, var2, ... in iterator do ... end 遍历迭代器返回的值,如数组、表等
while 循环 while condition do ... end 在条件为真的情况下重复执行代码

通过合理使用 forwhile 循环语句,可以让我们的代码更加简洁、高效。在实际编程中,根据具体的需求选择合适的循环结构是非常重要的。希望本文对你理解 Lua 中的循环语句有所帮助!