首页 > 代码库 > Lua--for循环控制结构
Lua--for循环控制结构
“参考Lua游戏开发实践指南”
Lua提供两种控制结构(数字型和通用型)--Lua中的for语句的索引是从1开始的
数字型:
一个简单的示例如下
1 for indx = 1, 10 do 2 print(indx) 3 end
do关键字标记程序块的开始,end标记程序块的结束。
用户可以在第三个参数中定义“step”的值。例如:
1 for indx = 10, 1 -1 do --this counts backwards 2 print(indx) 3 end 4 for indx = 1, 100, 2 do --this counts forwards by 2s 5 print(indx) 6 end
注意:
1)循环次数只是在第一次执行时确定,因此,就算用户更改了参数的值也不会影响最终循环的次数。
2)循环结构中的变量时局部变量,一旦循环结束就会被清除。如果想保存他们的值,那么必须使用全局变量或者更高级别的局部变量。
通用型:
PS: pairs()函数可以遍历table中的每一个元素。
在for循环控制结构中,pairs()函数遍历整个table(即使不知道长度),并返回索引值和每一个元素的值。
1 myNames = {"Fred", "Ethel", "Lucy", "Ricky", "Rockey", "Betsy", "Bill"} 2 for index, value in pairs(myNames) do 3 print(index, value) 4 end
在for循环控制结构中用更传统的方式实现同样的功能,即使不知道table的大小:
1 for index = 1, table.getn(myNames) do 2 print(index, myNames[index]) 3 end
pairs()函数在遍历非数字索引的table时非常有用,示例:
1 myData =http://www.mamicode.com/ {} 2 myData.name = "Billy" 3 myData.interest = "Wind surfing" 4 myData.quote = "Cold out, eh?" 5 myData.shoesize = 11 6 for index, value in pairs(myData) do 7 print(index, value) 8 end
(终端)运行结果:
1 interest Wind surfing 2 shoesize 11 3 name Billy 4 quote Cold out, eh?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。