什么是Lua,它时用来干什么的? lua语言是一门十分小巧的语言。他的优势是在于十分的小巧和灵活。单也是正式因为这种灵活,导致lua有很多地方的逻辑不尽严谨。 Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本, 也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。
LUA语言的各种方法 我们先从最简单注释和学习代码最常用的一句话(HELLO WORLD)开始。 lua的注释和c++,c#等不是//这点要注意,我们直接来看代码会直观一点。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 print ("HELLO WORLD" );print ("lua语言的学习" );
既然作为一种语言,各种变量肯定是必不可少的。 我们先从一些简单的入手,复杂的变量类型我们一会再说。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 print ("***************变量********************" );print (b);print ("*********************nil****************" );a = nil print (a);print (type (a));print ("*******************number******************" );a = 1 ; print (a);print (type (a));a=1.2 ; print (a);print (type (a));print ("*******************string******************" );a = "123" ; print (a);a='12345' ; print (a);print ("*******************boolean******************" );a= true ; print (a);a =false ; print (a);
字符串作为lua语言中的重要变量,有很多的小方法可以供程序员使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 print ("*************字符串*************" );str = "双引号字符串" ; str = '单引号' ; print ("********************字符串长度**************" );s ="dasdas" ; print (#s);print ("********************字符串多行打印**************" );print ("123\n123" );s =[[123 456 678 ]] print (s);print ("********************字符串拼接**************" );print ("123" .."456" )s1 ="123" ; s2 ="456" ; s3 = 1 ; print (s1 ..s2..s3);print (string .format ("我是谁?我是%d" ,s1));print ("******别的类型转换字符串**************" )a =true ; print (tostring (a));print ("*****************字符串提供的公共方法***********" )str ="abcQWE" print (string .upper (str));print (string .lower (str));print (string .reverse (str));print (string .find (str,"a" ));print (string .sub (str,3 ));print (string .rep (str,2 ));print (string .gsub (str,"ab" ,"12" ));print (string .byte ("Lua" ,3 ));a = string .byte ("Lua" ,3 ); print (a)print (string .char (a));
运算符,是所有语言中都不可或缺的东西,让我们来看看lua语言中的运算符吧。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 print ("********运算符*********" )print ("*******算数运算符**********" )print ("加法运算" ..1 +1 )a =1 b =2 print (a+b);print ("123.4" +1 )print ("减法运算" ..1 -2 )print ("123.4" -1 )print ("乘法法运算" ..3 *4 )print ("123.4" *3 )print ("除法运算" ..1 /2 )print ("123.4" /2 )print ("取余运算" ..1 %2 )print ("123.4" %2 )print ("幂运算" ..3 ^2 )print ("*****条件运算符*******" )print (3 >1 )print (3 <1 )print (3 >=1 )print (3 <=1 )print (3 ==1 )print (3 ~=1 )print ("******逻辑运算符********" );print (true and false )print (true and true )print (true or false )print (false or false )print (not true )print (true and print ("123" ));print (false and print ("123" ));print ("*******位运算符******" )print ("********三目运算符*******" )
条件分支语句 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 print ("*************条件分支语句************" );a=9 if (a ==9 )then print ("123" );end if (a~=9 )then else print ("false" )end if a>5 then print ("123" );elseif a~=9 then print ("9" );end
Lua中的各种循环语句 lua中没有自增哦!!!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 print ("*********循环语句************" )print ("*********while循环************" )num = 0 ; while num<5 do print (num) num =num +1 end print ("*********do while循环************" ) num=0 ; repeat print (num)num =num +1 ; until num >5 print ("*********for循环************" )for i=1 ,5 do print (i) end for i =1 ,5 ,2 do print (i) end for i =10 ,1 ,-1 do print (i) end print ("*********for练习************" ) a = {[0 ] = 1 , 2 , [-1 ] = 3 , 4 , 5 } for i=0 ,4 do print (a[i]) end
自定义方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 print ("*********函数************" )print ("*********无参数无返回值************" )function F1 () print ("f1" )end F1(); F2 = function () print ("f2" ) end F2(); print ("*********有参数************" )function F3 (a) print (a);end F3(123 ); F3(F2()); print ("*********有返回值************" )function F4 (a) return a,true ,false end temp,temp2,temp3 =F4(1 ) print (temp)print (temp2);print (temp3);print ("*********函数的类型************" )F5 =function () print ("123" )end print (type (F5))print ("*********函数的重载************" )F7 = function () end F7 = function (a) end print ("*********变长参数************" )function F8 (...) arg ={...} for i=1 ,#arg do print (arg [i]) end end F8(1 ,2 ,3 ,4 ,5 ,6 ) print ("*********函数嵌套************" )function F9 () function F0 (...) print (123 ); end return F0; end function F9 () ret function () print (123 ); end end
这篇文章姑且就到这里。