Lua中文教程

所需积分/C币:10 2014-01-15 22:05:52 1.99MB PDF
收藏 收藏
举报

Lua中文教程 PDF版 详细介绍了Lua语言的语法规则,适合Lua入门。
Programming in Lua 版权声明 《ProgramminginLua》的翻译由www.luachina.net完成。本站已经征得作者Mr Roberto lerusalimschy的同意,可以翻译他的著作并在本站发布,本书的版权归M: Roberto Ierusalimschy所有,有关版权请参考下面引自官方网站的声明,未经许可不得擅自转贴 或者以任何形式发布本书,否则后果自负。 Copyrighto2003-2004 Roberto Ierusalimschy. All rights reserved This online book is for personal use only. It cannot be copied to other web sites or further distributed in any form Copyright2005,TranslationTeam,www.luachina.net Programming in Lua 译序 “袁承志知道若再谦逊,那就是瞧人不起,展开五行拳,发拳当胸打去。荣彩和旁 观三人本来都以为他武功有独到之秘,哪知使出来的竞是武林中最寻常不过的五行拳 敌对三人登时意存轻视,温青脸上不自禁露出失望的神色。 “荣彩心中暗喜,双拳如风,连抢三下攻势,满拟自己的大力魔爪手江南独步, 四招之间就可破去对方五行拳,那知袁承志轻描淡写的一一化解。再拆数招,荣彩暗暗 吃惊,原来对方所使虽是极寻常的拳术,但每一招均是含劲不吐,意在拳先,举手抬足 之间隐含极浑厚的内力。” —金庸《碧血剑》 编程语言之于程序员,若武功招式之于习武之人,招式虽重要,但在于使用之人。 胜者之道,武功只行于表,高手用剑,片草只叶亦威力无穷 当今武林,派别林立,语言繁杂,林林总总不计其数。主流文化的CC++、Java、 C#、VB;偏安一隅的 Fortran;动态语言中的Perl、Tcl、Ruby、Forh、 Python,以及本 书介绍的Lua;…,等等等等。再加上世界上那些不知道躲在哪的旮旯的奇奇怪怪的 hacker捣鼓出来的异想天开的语言,要想将各类语言囊入怀中,不异于痴人说梦。不信 可欣赏一下 Brain Fuck语言的 Hello world程序,语言本身依如其名。- >+++++++++[<+十++++++>-]<,>+++++++[<++++>-]<+.+++++++.,+++.[ ]>+十十+++十+[<++++>-]<.#>+++++++++++[<+++++>-]<.>++++++++[<+ ++>-]<,+++ [-]>++++++++[<++++>-]<+,[-]+++++ 十+++ 虽说语言的威力依使用者本身的修为高低而定,但不同语言本身的设计又有不同。 若让用Java写写操作系统内核、Per写写驱动程序、CC+-写写web应用,都无异于舍 近求远,好刀只用上了刀背。 Lua木身是以简单优雅为本,着眼于处理那些C不擅长的任务。借助C/C++为其扩 展,Lua可闪现无穷魅力。Lua本身完全遵循 ANSI而写成,只要有C编译器的地方, Lua便可发挥她的力量。Lua不需要追求 Python那样的大而全的库,太多的累赘,反而 会破坏她的优美 语言的优美,来自于使用者自己的感悟。Lua的优雅,也只有使用后才会明白。 扬起帆,让我们一同踏上Lua的学习之旅 有趣的Brainfuck语言。htp:/www.muppetlabs.com/breadbox/bf Copyright2005,TranslationTeam,www.luachina.net Programming in Lua 本书的翻译,是www.luachina.net中朋友们共同努力的结果。下面是参与翻译与校对 的朋友 file:thanks. lua desc: to print the list of the contributing guys function list iter (t local local table. getn(t) return function ( i+1 f i <=n then return t[il end end end helpful guys 参与翻译 " buxiu","凤舞影天"," zhang3", "morler",lambda","sunlight ", 参与校对 "凤舞影天"," doyle","f1 icker" "花生魔人"," zhang3","Kasi for e in list iter (helpful guys) do print(e) end www.luachina.net翻译组 2005年7月26日 注:本pdf为翻译稿,校对工作在进行。 Copyright2005,TranslationTeam,www.luachina.net Programming in Lua 目录 版权声明 译序 目录 ∴111 第一篇语言 第0章序言 0.1序言… 0.2Lua的使用者 2 0.3Lua的相关资源 04本书的体例 0.5关于本书 0.6感谢 第1章起点 1. 1 Chunks 1.2全局变量 1.3词法约定 7 14命令行方式 第2章类型和值 2.1 Nil 2.2 Booleans 2.3 Numbers 2. 4 Strings 2.5 Functions .12 2.6 USerdata and Threads 第3章表达式 3.1算术运算符 233 3.2关系运算符 3.3逻辑运算符 13 34连接运算符 3.5优先级 15 3.6表的构造 15 第4章基本语法 .18 4.1赋值语句…… 18 4,2局部变量与代码块( block) 43控制结构语句 自由 20 Copyright2005,TranslationTeam,www.luachina.net Programming in Lua 44 break和 return语句 .23 第5章函数… 24 5.1返回多个结果值 25 52可变参数 27 53命名参数 28 第6章再论函数…30 6.1闭包 32 62非全局函数 34 63正确的尾调用( Proper Tail calls 36 第7章迭代器与泛型for. 40 7.1迭代器与闭包 ..140 7.2范性for的语义 42 73无状态的迭代器 43 74多状态的迭代器 44 7.5真正的迭代器 45 第8章编译·运行·调试 47 81 require函数 49 8.2 C Packages 83错误…… 5 84异常和错误处理 52 8.5错误信息和回跟踪( Tracebacks). .53 第9章协同程序 56 91协同的基础….56 92管道和过滤器 58 93用作迭代器的协同 61 94非抢占式多线程 .63 第10章完整示例 68 10.1Lua作为数据描述语言使用.....68 10.2马尔可夫链算法 71 第二篇 tables与 objects..175 第11章数据结构 76 11.1数组 76 11.2阵和多维数组… .77 113链表 78 114队列和双端队列...78 11.5集合和包 80 11.6字符串缓冲 .80 第12章数据文件与持久化 .84 12.1序列化 ∴86 Copyright2005,TranslationTeam,www.luachina.net Programming in Lua 第13章 Metatables and Metamethods 13.1算术运算的 Metamethods 92 132关系运算的 Metamethods 95 133库定义的 Metamethods 96 134表相关的 Metamethods 97 第14章环境….103 14.1使用动态名字访问全局变量 .103 142声明全局变量 .104 143非全局的环境 106 第15章 Packages 109 15.1基本方法 …109 15.2私有成员( Privacy)..l 153包与文件 112 154使用全局表 15.5其他一些技巧( Other facilities) 115 第16章面向对象程序设计 118 16.1 类 119 162继承… 12 16.3多重继承 …122 164私有性( privacy) .125 l6.5 Single- Method的对象实现方法 127 第17章Weak表 128 17.1记忆函数. 130 172关联对象属性 131 17.3重述带有默认值的表 132 第三篇标准库 134 第18章数学库 135 第19章 Table库…136 19.1数组大小 136 192插入删除 137 193排序 137 第20章 String/库… 140 20.1模式匹配函数 141 202模式 143 20.3捕获( Captures) 146 20.4转换的技巧( Tricks of the trade) 51 第21章IO库 157 21.1简单ⅠO模式 157 212完仝IO模式 160 Copyright2005,TranslationTeam,www.luachina.net Programming in Lua 第22章操作系统库 165 22.Date和Time 165 222其它的系统调用 .167 第23章 Debug库.169 23.1自省( Introspective 169 23.2 Hooks.173 23.3 Profiles 174 第四篇CAPI… …177 第24章CAPI纵览 178 241第一个示例程序 179 242堆栈 18 24.3CAPI的错误处理… 186 第25章扩展你的程序 188 251表操作 189 252调用Lua涵数 193 253通用的函数调用 .195 第26章调用C函数 ……198 26.1C函数 ..198 262C函数库 200 第27章撰写C函数的技巧 .203 27.1数组操作 203 272字符串处理 204 27.3在C函数中保存状态....207 第28章User- Defined Types in C .212 28.1 Userdata 212 28.2 Metatables 215 283访问面向对象的数据 217 284访问数组....219 28.5 Light Userdata....... 220 第29章资源管理 222 291目录迭代器 222 292XML解析 ∴225 Copyright2005,TranslationTeam,www.luachina.net Programming in Lua 第一篇语言 Copyright2005,TranslationTeam,www.luachina.net

...展开详情
试读 127P Lua中文教程
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    一个资源只可评论一次,评论内容不能少于5个字
    yyxhhx 正在学习lua脚本,不错的例子
    2014-01-21
    回复
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    Lua中文教程 10积分/C币 立即下载
    1/127
    Lua中文教程第1页
    Lua中文教程第2页
    Lua中文教程第3页
    Lua中文教程第4页
    Lua中文教程第5页
    Lua中文教程第6页
    Lua中文教程第7页
    Lua中文教程第8页
    Lua中文教程第9页
    Lua中文教程第10页
    Lua中文教程第11页
    Lua中文教程第12页
    Lua中文教程第13页
    Lua中文教程第14页
    Lua中文教程第15页
    Lua中文教程第16页
    Lua中文教程第17页
    Lua中文教程第18页
    Lua中文教程第19页
    Lua中文教程第20页

    试读已结束,剩余107页未读...

    10积分/C币 立即下载 >