Lua学习(3)——控制结构
Lua提供了一组传统的,小巧的控制结构,包括用于条件执行的if,用于迭代的while、repeat和for。所有的控制结构都有一个现实的终止符号:if for while 都以end结尾,repeat以until作为结尾。
控制结构中的条件表达式可以使任何的值,Lua将所有false和nil的值视为“真”。
1. if then else语句
1 2 3 4 5 6 7 8 9 | if a< 0 then a= 0 end if a<b then return a else return b end |
嵌套的if,可以使用elseif
1 2 3 4 5 6 7 8 9 10 11 | if op== "+" then r = a+b; elseif op== "-" then r = a-b; elseif op== "*" then r = a*b; elseif op== "/" then r = a/b; else error( "invalid operation" ) end |
2. while
1 2 3 4 5 | i = 1 while i< 10 do print(i) i= 1 + 1 ; end |
3. repeat until
until 条件为真
1 2 3 | repeat print(i)<br> i=i+ 1 until i > 10 |
4. 数字型for循环
语法
1 2 3 4 5 | for exp1, exp2, exp3 do <code> do exp1初始值,exp2终止值,exp3是步长。步长exp3 默认是 1 |
1 2 3 | for i= 1 , 10 , 2 do print(i) end |
1 2 3 | for i= 1 , 10 do print(i) end |
和C、C++一样也有break语句,终止用math.huge
1 2 3 4 5 6 | for i= 1 ,math.huge do if i> 5 then break end print(i) end |
4. 泛型for循环
1 2 3 | for i,v in ipairs(tb) do print(v) end |
Lua的基础库提供了ipairs,这是一个用于用于数组的迭代的函数。每次循环,i会被赋予一个索引的值,同时v被赋予一个对应该索引的数组元素值。
博主原创,转载请标明出处!
联系方式:
微信:corolla_zhaojd
Email: zhaojiandongzju@gmail.com
Email: zhaojiandongzju@gmail.com
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步