通过例子学习Lua(2) --- Lua流程控制

前端之家收集整理的这篇文章主要介绍了通过例子学习Lua(2) --- Lua流程控制前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
1. 函数的使用 以下程序演示了如何在Lua中使用函数,及局部变量 例e02.lua -- functions function pythagorean(a,b)   local c2 = a^2 + b^2   return sqrt(c2) end print(pythagorean(3,4)) 运行结果 5 程序说明 在Lua中函数的定义格式为: function 函数名(参数) ... end 与Pascal语言不同,end不需要与begin配对,只需要在函数结束后打个end就可以了. 本例函数的作用是已知直角三角形直角边,求斜边长度. 参数a,b分别表示直角边长,在函数内定义了local形变量用于存储斜边的平方. 与C语言相同,定义在函数内的代 码不会被直接执行,只有主程序调用时才会被执行. local表示定义一个局部变量,如果不加local刚表示c2为一个全局变量,local的作用域 是在最里层的end和其配对的关键字之间,如if ... end,while ... end等。全局变量的 作用域是整个程序。 2. 循环语句 例e03.lua -- Loops for i=1,5 do   print("i is now " .. i) end 运行结果 i is now 1 i is now 2 i is now 3 i is now 4 i is now 5 程序说明 这里偶们用到了for语句 for 变量 = 参数1,参数2,参数3 do 循环体 end 变量将以参数3为步长,由参数1变化到参数2 例如:   for i=1,f(x) do print(i) end for i=10,1,-1 do print(i) end 这里print("i is now " .. i)中,偶们用到了..,这是用来连接两个字符串的, 偶在(1)的试试看中提到的,不知道你们答对了没有。 虽然这里i是一个整型量,Lua在处理的时候会自动转成字符串型,不需偶们费心。 3. 条件分支语句 例e04.lua -- Loops and conditionals for i=1,5 do print(“i is now “ .. i)     if i < 2 then           print(“small”)       elseif i < 4 then           print(“medium”)       else           print(“big”)       end end 运行结果 i is now 1 small i is now 2 medium i is now 3 medium i is now 4 big i is now 5 big 程序说明 if else用法比较简单,类似于C语言,不过此处需要注意的是整个if只需要一个end,哪怕用了多个elseif,也是一个end. 例如   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 4.试试看 Lua中除了for循环以外,还支持多种循环,请用while...do和repeat...until改写本文中的for程序

猜你在找的Lua相关文章