【Lua基础系列】之条件与循环
大家好,我是Lampard~~
欢迎来到Lua基础系列的博客
PS:本博客知识参考资料为:《Lua程序设计第四版》,该书由Lua的创始人2018年所编著,所以大家可以放心去吸收知识
前文再续,书接上一回。
今天要接着讲Lua中的面向对象编程中的类的实现与继承。
(一)条件选择语句if
lua里面是这样实现条件选择语句的:
if + 条件 + then + 执行语句 + end
如:
if a < 0 then
a = a + 2
end
else if a >= 0 then
return a
end
上述例子我们可以使用elseif来实现:
if a < 0 then
a = a + 2
elseif a >= 0 then
return a
end
此时我们比之前的例子就少写了一个end,如果要多次elseif就省略了多个end,比较方便
(二) 三种循环语句
(1) while
语法:while + 循环条件 + do + 循环体 + end
while i < 10 do
i = i + 1
end
(2) repeat..until
语法:repeat + 循环体 + until + 终止条件
repeat
i = i + 1
until i >=10
这很像我们C++里面的do while ,就是不管三七二十一,先执行一遍循环体。
(3)for
语法:for var = exp1,exp2,exp3 do 循环体 end
exp1是初始值,exp2是终止值,
exp3是步长,步长也就是我们每一次循环后var要增加或减少多少,若不写则默认为1
问题来了:加入我初始值小于终止值,且步长为负程序会如何?
答: 此时它们会执行一次循环体结束循环。
回顾一下我们之前的pairs和ipairs
for k,v in pairs(table) do
print(k,v) -- 输出的是键值对,是映射,nil也会输出但是顺序可能会乱
end
for k,v in ipairs(table) do
print(k,v) -- 输出的是序列,顺序不乱遇到空值则停下
end
(三)如何提前结束循环
1.break: 直接结束这一重循环
2.return: 返回值后直接结束所有循环
3.continue: 结束当重当次的循环
4.goto: 转移去标签的位置,标签的语法::标签名 : : -- 记得慎用
是不是很简单? OK,今天的博客就到这里,谢谢大家!!!