资源描述:
《通过例子学习lua编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、通过例子学Lua正式版阅读方法和声明请按视图-文档结构图,来查看本文档,问文档中所有文章都转自网络,未经作者允许,不得用于商业用途前言Lua是一种完全免费的脚本语言,可以和C/C++语言紧密结合,它的官方网站在http://www.lua.org./在网站上可以下载到lua的源码,没有可执行版本,不过不用担心,因为lua源码可以在任何一种C/C++的编译器上编译.如果要学习Lua,官方网站上的Reference是必备的,上面有每个命令的用法,非常详细。参考手册http://www.lua.org/manual/5.0/作者写的Programmingi
2、nLuahttp://www.lua.org/pil/2.编译如果用的VC6,可以下载所需的project文件,地址在http://sourceforge.net/project/showfiles.php?group_id=32250&package_id=115604VSNET2003可以下载这个sln文件http://home.comcast.net/~vertigrated/lua/vs7.zip偶用的是cygwin和linux,打入以下命令即可,tar-zxvflua-5.0.2.tar.gzcdlua-5.0.2sh./configure
3、make这样就OK了。为了以后使用方便,最好把bin目录加入到path里面。通过例子学习Lua(1)----HelloWorld把以下程序打入文件e01.lua例1:e01.lua--HelloWorldinLuaprint("HelloWorld.")Lua有两种执行方式,一种是嵌入到C程序中执行,还有一种是直接从命令行方式下执行。这里为了调试方便,采用第二种方式,执行命令luae01.lua输出结果应该是:HelloWorld.4.程序说明第一行--HelloWorldinLua这句是注释,其中--和C++中的//意思是一样的第二行print("
4、HelloWorld.")调用lua内部命令print,输出"HelloWorld."字符串到屏幕,Lua中的字符串全部是由"括起来的。这个命令是一个函数的调用,print是lua的一个函数,而"HelloWorld."是print的参数。5.试试看在Lua中有不少字符串的处理操作,本次的课后试试看的内容就是,找出连接两个字符串的操作,并且print出来。通过例子学习Lua(2)---Lua流程控制(转) 1.函数的使用以下程序演示了如何在Lua中使用函数,及局部变量例e02.lua--functionsfunctionpythagorean(a,b
5、) localc2=a^2+b^2 returnsqrt(c2)endprint(pythagorean(3,4))运行结果5程序说明在Lua中函数的定义格式为:function函数名(参数)...end与Pascal语言不同,end不需要与begin配对,只需要在函数结束后打个end就可以了.本例函数的作用是已知直角三角形直角边,求斜边长度.参数a,b分别表示直角边长,在函数内定义了local形变量用于存储斜边的平方.与C语言相同,定义在函数内的代码不会被直接执行,只有主程序调用时才会被执行.local表示定义一个局部变量,如果不加local刚表示
6、c2为一个全局变量,local的作用域是在最里层的end和其配对的关键字之间,如if...end,while...end等。全局变量的作用域是整个程序。2.循环语句例e03.lua--Loopsfori=1,5do print("iisnow"..i)end运行结果iisnow1iisnow2iisnow3iisnow4iisnow5程序说明这里偶们用到了for语句for变量=参数1,参数2,参数3do循环体end变量将以参数3为步长,由参数1变化到参数2例如: fori=1,f(x)doprint(i)endfori=10,1,-1doprint(
7、i)end这里print("iisnow"..i)中,偶们用到了..,这是用来连接两个字符串的,偶在(1)的试试看中提到的,不知道你们答对了没有。虽然这里i是一个整型量,Lua在处理的时候会自动转成字符串型,不需偶们费心。3.条件分支语句例e04.lua--Loopsandconditionalsfori=1,5doprint(“iisnow“..i) ifi<2then print(“small”) elseifi<4then print(“medium”) else print(“big”) endend运行
8、结果iisnow1smalliisnow2mediumiisnow3mediumiisnow4bigiisn