lua 条件控制语句总结

命运对每个人都是一样的,不一样的是各自的努力和付出不同,付出的越多,努力的越多,得到的回报也越多,在你累的时候请看一下身边比你成功却还比你更努力的人,这样,你就会更有动力。

导读:本篇文章讲解 lua 条件控制语句总结,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

前言

几乎所有的编程语言,必然会涉及到条件控制,比如像 if for循环等,本篇将介绍在lua中如何使用条件控制语句

Lua控制结构

Lua
语言提供了一组精简且常用的控制结构,包括用于条件执行的证以及用于循环的 while

repeat

for
。 所有的控制结构语法上都有一个显式的终结符: end
用于终结
if

for

while
结构,
until
用于终结repeat 结构

if then elseif else

if
语句先测试其条件,并根据条件是否满足执行相应的
then
部分或
else 部分,else
部分是可选的
function testif(a)
    if a>0 then
        print("a是正数")
    end
end


function testif(a)
    if a>0 then
        print("a是正数")
    else
        print("a是负数")
    end
end

如果要编写嵌套的
if
语句,可以使用
elseif
。 它类似于在
else
后面紧跟 一个if
。根据传入的年龄返回不同的结果,如下需求
age<=18
青少年,
age>18 , age <=45
青年
age>45 , age<=60
中年人
age>60
老年人

function show(age) 
    if age<=18 then 
        return "青少年" 
    elseif age>18 and age<=45 then 
        return "青年"
    elseif age>45 and age<=60 then 
        return "中年人" 
    elseif age>60 then 
        return "老年人" 
    end

end

while循环

顾名思义,当条件为真时
while
循环会重复执行其循环体。
Lua
语言先测试 while
语句 的条件,若条件为假则循环结束;否则,
Lua
会执行循环体并不断地重复这个过程

语法:
while
条件
do
        循环体
end

例子
:
实现数组的循环
function testWhile() 
    local i = 1 
    while i<=10 do 
        print(i) i=i+1 
    end 
end

lua 条件控制语句总结

 

repeat循环

顾名思义,
repeat-until
语句会重复执行其循环体直到条件为真时结束。 由于条件测试在循环体之后执行,所以循环体至少会执行一次。
语法
repeat
循环体
until
条件

function testRepeat() 
    local i = 10 
    repeat print(i) 
        i=i-1 
    until i < 1 
end

for循环

数值型for循环 语法

for param=exp1,exp2,exp3 do
        循环体
end
param
的值从
exp1
变化到
exp2
之前的每次循环会执行 循环体,并在每次循环结束后将步长(step)exp3
增加到
param
上。
exp3
可选,如果不设置默认为1
for i = 1,100,10 do
        print(i)
end

泛型for循环

泛型
for
循环通过一个迭代器函数来遍历所有值,类似于
java
中的 foreach语句。
for i,v in ipairs(x) do
        循环体
end

i
是数组索引值,
v
是对应索引的数组元素值,
ipairs

Lua
提供的一个迭代器函数,用来迭代数组,x
是要遍历的数组
arr = {“TOME”,”JERRY”,”ROWS”,”LUCY”}
for i,v in ipairs(arr) do
         
print(i,v)
end

上述实例输出的结果为
1 TOM
2 JERRY
3 ROWS
4 LUCY

lua 条件控制语句总结

 

但是如果将
arr
的值进行修改为
arr = {“TOME”,”JERRY”,”ROWS”,x=”JACK”,”LUCY”}
同样的代码在执行的时候,就只能看到和之前一样的结果,而其中的
x
为JACK就无法遍历出来,缺失了数据,如果解决呢
?
我们可以将迭代器函数变成
pairs,
如:
for i,v in pairs(arr) do
        print(i,v)
end

上述实例就输出的结果为
1 TOM
2 JERRY
3 ROWS
4 LUCY
x JACK

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/143235.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!