L1[循环]01. for循环结构介绍
只是简单的说了下计数型的for循环结构
for i=1,10,1 do
testlib.traceprint(i)
end
注意几点:
1.上面的1和10表示循环从1开始计数 到达10还在计数 超出10才会不循环 步长1
2 i这个变量是for循环内部的一个局部变量 离开了循环结构就失效了 而且 这个局部变量是非常特殊的 在for结构内我们人工修改这个i这个特殊的局部变量只能作用很小的范围
for i=1,10,1 do testlib.traceprint(i) --这里依然按照for结构的顺序从1到10 没有受到下面i=999的任何影响 i=999--这里修改了i的默认的顺序的数值变为999 testlib.traceprint(i) --这里输出了999表示我们修改成功了 end
123
L1[循环]02. 嵌套for循环
只是说了循环嵌套 没什么说的 不过还是要说一下 for结构的特殊变量i 就算循环嵌套 都用同一个i这个变量名 也不会相互干扰
for i=1,10,1 do--两个循环的i没有相互冲突 testlib.traceprint("外循环的:" .. i) for i=1,10,1 do--两个循环的i没有相互冲突 testlib.traceprint("==内循环的:" .. i) end end
L1[循环]03. goto注意事项
goto和标签配置的几个注意事项
1.goto和要跳到的标签 不能跨函数存在 就是说 goto和对应标签 要不都在同一个函数内 要不都在主代码里面 不能随便乱放
2 goto能起作用的范围一定是被标签起作用的范围包含覆盖 或者相等或者标签起作用的范围包含了goto能起作用的范围
3 goto和标签之间 不能包含声明变量 语句 养成一个 变量声明都放到函数开头 或者源代码开头的习惯 就不会遇到这个问题了
小知识:lua内没有continue这个函数 有的时候我们需要实现这个功能 如何实现呢 百度了下找到了大神写的代码
for i = 1, 10 do repeat--这个repeat因为结束条件是true 所以必定指定也必定执行一次 if i == 5 then--这里是判断跳出这次循环的条件 break end print(i)--这里写循环主代码 until true end
L1[循环]04. 累加计数
没什么可说的
L1[循环]05. while与repeat循环
local i=0
while (i<10) do --先判断后运行循环主体 如果条件不满足就跳出循环
print(i)
i=i+1
end
local i=0
repeat
print(i)
i=i+1
until(i>=10)--先运行主体再判断 而且如果满足条件就跳出循环 注意上面那个是条件不满足则跳出 这个是满足条件才跳出