第8章:LUA的循环语句

序号

控制语句

描述

1

while循环

在条件为 true 时,让程序重复地执行某些语句。执行语句前会先检查条件是否为 true。

2

for循环

重复执行指定语句,重复次数可在 for 语句中控制。

3

repeat...until 

重复执行循环,直到 指定的条件为真时为止

4

循环嵌套

可以在循环内嵌套一个或多个循环语句(while do ... end;for ... do ... end;repeat ... until;)

序号

控制语句

描述

1

break语句

退出当前循环或语句,并开始脚本执行紧接着的语句。

while循环

--案例:
--以下代码实例在聊天框循环输出a的值
a = 0
while( a < 5 )  --当a<5的时候才会执行do里面的内容
do
   Chat:sendSystemMsg( a, 0)  --输出a的值到聊天框
   a = a+1  --每次循环a都会自身+1
end
--输出结果为:
-- 0
-- 1
-- 2
-- 3
-- 4

for循环

数值for循环:

for var=a , b , c do
<执行体>
end

var 从 a 变化到 b,每次变化以 c 为步长递增var,并执行一次 "执行体"。c 是可选的,如果不指定,默认为1。

--案例:
--简单的for循环,可以在聊天框输出i的值:
for i = 1 , 5 , 1  do
	Chat:sendSystemMsg( i, 0)
end
--输出结果为:
-- 1
-- 2
-- 3
-- 4
-- 5

泛型for循环:

泛型 for 循环通过一个迭代器函数来遍历所有值,类似 java 中的 foreach 语句。

--实例:
--聊天框打印数组a的所有值

a = {"one", "two", "three"}
for i, v in ipairs(a) do
	Chat:sendSystemMsg( v, 0)
end

--i是数组索引值,v是对应索引的数组元素值。ipairs是Lua提供的一个迭代器函数,用来迭代数组。

repeat...until循环

概述:

Lua 编程语言中 repeat...until 循环语句不同于 for 和 while循环,for 和 while 循环的条件语句在当前循环执行开始时判断,而 repeat...until 循环的条件语句在当前循环结束后判断。

--实例:
--以下代码在聊天框输出a的值
a = 0
--[ 执行循环 --]
repeat
	Chat:sendSystemMsg( a, 0)
   a = a + 1
until( a > 5 )  --循环直到a>5
--输出结果为:
-- 0
-- 1
-- 2
-- 3
-- 4
-- 5

循环嵌套

概述

Lua 编程语言中允许循环中嵌入循环。我们还可以使用不同的循环类型来嵌套,如 for 循环体中嵌套 while 循环。

--案例:
--以下代码在聊天框输出i和j的值

for i = 1 , 2 , 1 do
   for j = 1, 2 , 1 do

		Chat:sendSystemMsg( i, 0)
		Chat:sendSystemMsg( j, 0)
      end
   end
end
--输出结果为:
-- 1
-- 1
-- 1
-- 2
-- 2
-- 1
-- 2
-- 2

break语句

  1. Lua 编程语言 break 语句插入在循环体中,用于退出当前循环或语句,并开始脚本执行紧接着的语句。
  2. 如果你使用循环嵌套,break语句将停止最内层循环的执行,并开始执行的外层的循环语句。
--以下实例执行 while 循环,在变量 a 小于 20 时输出 a 的值,并在 a 大于 15 时终止执行循环:

--[ 定义变量 --]
a = 10
--[ while 循环 --]
while( a < 20 )
do
	Chat:sendSystemMsg( a, 0)
   a=a+1
   if( a > 15)
   then
      --[ 使用 break 语句终止循环 --]
      break
   end
end
--输出结果为:
-- 10
-- 11
-- 12
-- 13
-- 14
-- 15
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值