logo资料库

通过例子学习LUA编程.doc lua进阶 实例代码

第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
资料共26页,剩余部分请下载后查看
阅读方法和声明
前言Lua是一种完全免费的脚本语言, 可以和C/C++语言紧密结合,它的官方网站在
通过例子学习Lua(1) ---- Hello World
把以下程序打入文件e01.lua例1:e01.lua-- Hello World in Lu
通过例子学习Lua(3) ---- Lua数据结构 (转)
通过例子学习Lua(4) -- 函数的调用 (转)
通过例子学习Lua(5) ---- Lua与C交互入门 (转)
通过例子学习Lua(6) ---- C/C++中用Lua函数(转)
整理 BY 怪盗KID
通过例子学 Lua 正式版
阅读方法和声明 请按 视图-文档结构图,来查看本文档,问文档中所有文章都转自网络,未经作者允许,不得用 于商业用途
前言 Lua 是一种完全免费的脚本语言, 可以和 C/C++语言紧密结合, 它的官方网站在 http://www.lua.org./ 在网站上可以下载到 lua 的源码, 没有可 执行版本, 不过不用担心, 因为 lua 源码可以在任何一种 C/C++的编译器上编译. 如果要学习 Lua, 官方网站上的 Reference 是必备的,上面有每个命令的用法,非常详细。 参考手册 http://www.lua.org/manual/5.0/ 作者写的 Programming in Lua http://www.lua.org/pil/ 2.编译 如果用的 VC6, 可以下载所需的 project 文件,地址在 http://sourceforge.net/project/showfiles.php?group_id=32250&package_id=115604 VSNET2003 可以下载这个 sln 文件 http://home.comcast.net/~vertigrated/lua/vs7.zip 偶用的是 cygwin 和 linux, 打入以下命令即可, tar -zxvf lua-5.0.2.tar.gz cd lua-5.0.2 sh ./configure make 这样就 OK 了。
为了以后使用方便,最好把 bin 目录加入到 path 里面。 通过例子学习 Lua(1) ---- Hello World
把以下程序打入文件 e01.lua 例 1:e01.lua -- Hello World in Lua print("Hello World.") Lua 有两种执行方式,一种是嵌入到 C 程序中执行,还有一种是直接从命令行方式下执行。 这里为了调试方便,采用第二种方式,执行命令 lua e01.lua 输出结果应该是: Hello World. 4.程序说明 第一行 -- Hello World in Lua 这句是注释,其中--和 C++中的//意思是一样的 第二行 print("Hello World.") 调用 lua 内部命令 print,输出"Hello World."字符串到屏幕,Lua 中的字符串全部是由"括
起来的。 这个命令是一个函数的调用,print 是 lua 的一个函数,而"Hello World."是 print 的参数。 5.试试看 在 Lua 中有不少字符串的处理操作,本次的课后试试看的内容就是,找出连接两个字符串 的操作, 并且 print 出来。 通过例子学习 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(3) ---- Lua 数据结构 (转) 1.简介 Lua 语言只有一种基本数据结构, 那就是 table, 所有其他数据结构如数组啦, 类啦, 都可以由 table 实现.
分享到:
收藏