大小:5.8M
更新时间:23-08-27
系统:Pc
lua程序设计(programming in lua)是一本综合性强,介绍全面的lua中文教程,全书详细介绍了lua语言所具有的功能,并使用大量示例来演示如何将它们运用到实际的任务中。深入地介绍了lua中唯一的数据结构table,还讨论了数据结构、持久化、包和面向对象编程。展示了lua的标准库,对那些想将lua作为一门独立语言来使用的开发者特别有用,每一章介绍一个库,包括数学库、table库、字符串库、I/O库、操作系统库、调试库介绍lua与C语言之间的API,这是为那些想用C语言来访问lua功能的人准备的。
目前很多程序语言都专注于帮你编写成千上万行的代码,所以此类型的语言所提供的包、命名空间、复杂的类型系统及无数的结构,有上千页的文档需要操作者学习。
而lua并不帮你编写大量的代码的程序,相反的,lua仅让你用少量的代码解决关键问题。为实现这个目标,像其他语言一样lua依赖于其可扩展性。但是与其他语言不同的是,不仅用lua编写的软件易于扩展,而且用其他语言比如C/C++编写的软件也很容易使用lua扩展其功能。
一开始,lua就被设计成很容易和传统的C/C++整合的语言。这种语言的二元性带来了极大的好处。lua是一个小巧而简单的语言,因为lua不致力于做C语言已经做得很好的领域,比如:性能、底层操作以及与第三方软件的接口。lua依赖于C去做完成这些任务。lua所提供的机制是C不善于的:高级语言、动态结构、简洁、易于测试和调试等。正因为如此,lua具有良好的安全保证,自动内存管理,简便的字符串处理功能及其他动态数据的改变。
lua不仅是一种易于扩展的语言,也是一种易整合语言(glue language);lua支持基于组件的,我们可以将一些已经存在的高级组件整合在一起实现一个应用软件。一般情况下,组件使用像C/C++等静态的语言编写。但lua是我们整合各个组件的粘合剂。又通常情况下,组件(或对象)表现为具体在程序开发过程中很少变化的、占用大量CPU时间的决定性的程序,例如窗口部件和数据结构。对那种在产品的生命周期内变化比较多的应用方向使用Lua可以更方便的适应变化。除了作为整合语言外,lua自身也是一个功能强大的语言。lua不仅可以整合组件,还可以编辑组件甚至完全使用Lua创建组件。
除了lua外,还有很多类似的脚本语言,例如:Perl、Tcl、Ruby、Forth、Python。虽然其他语言在某些方面与Lua有着共同的特色,但下面这些特征是lua特有的:
1、可扩展性
lua的扩展性非常卓越,以至于很多人把Lua用作搭建领域语言的工具(注:比如游戏脚本)。Lua被设计为易于扩展的,可以通过Lua代码或者C代码扩展,Lua的很多功能都是通过外部库来扩展的。Lua很容易与C/C++、java、fortran、Smalltalk、Ada,以及其他语言接口。?
2、简单
lua本身简单,小巧;内容少但功能强大,这使得Lua易于学习,很容易实现一些小的应用。它的完全发布版(代码、手册以及某些平台的二进制文件)仅用一张软盘就可以装得下。
3、高效率
lua有很高的执行效率,统计表明Lua是目前平均效率最高的脚本语言。?
4、与平台无关
lua几乎可以运行在所有我们听说过的系统上,如NextStep、OS/2、PlayStation?II?(Sony)、Mac?OS-9、OS?X、BeOS、MS-DOS、IBM?mainframes、EPOC、PalmOS、MCF5206eLITE?Evaluation?Board、RISC?OS,及所有的Windows和Unix。Lua不是通过使用条件编译实现平台无关,而是完全使用ANSI(ISO)C,这意味着只要你有ansi c编译器你就可以编译并使用Lua。
第一篇 语言
第 0 章 序言
0.1 序言
0.2 Lua的使用者
0.3 Lua的相关资源
0.4 本书的体例
0.5 关于本书
0.6 感谢
第 1 章 起点
1.1 Chunks
1.2 全局变量
1.3 词法约定
1.4 命令行方式
第 2 章 类型和值
2.1 Nil
2.2 Booleans
2.3 Numbers
2.4 Strings
2.5 Functions
2.6 Userdata and Threads
第 3 章 表达式
3.1 算术运算符
3.2 关系运算符
3.3 逻辑运算符
3.4 连接运算符
3.5 优先级
3.6 表的构造
第 4 章 基本语法
4.1 赋值语句
4.2 局部变量与代码块(block)
4.3 控制结构语句
4.4 break和return语句
第 5 章 函数
5.1 多返回值
5.2 可变参数
5.3 命名参数
第 6 章 再论函数
6.1 闭包
6.2 非全局函数
6.3 正确的尾调用(Proper Tail Calls)
第 7 章 迭代器与泛型for
7.1 迭代器与闭包
7.2 范性for的语义
7.3 无状态的迭代器
7.4 多状态的迭代器
7.5 真正的迭代器
第 8 章 编译·运行·错误信息
8.1 require函数
8.2 C Packages
8.3 错误
8.4 异常和错误处理
8.5 错误信息和回跟踪(Tracebacks)
第 9 章 协同程序
9.1 协同的基础
9.2 管道和过滤器
9.3 用作迭代器的协同
9.4 非抢占式多线程
第 10 章 完整示例
10.1 Lua作为数据描述语言使用
10.2 马尔可夫链算法
第二篇 tables与objects
第 11 章 数据结构
11.1 数组
11.2 矩阵和多维数组
11.3 链表
11.4 队列和双端队列
11.5 集合和包
11.6 字符串缓冲
第 12 章 数据文件与持久化
12.1 序列化
第 13 章 Metatables and Metamethods
13.1 算术运算的Metamethods
13.2 关系运算的Metamethods
13.3 库定义的Metamethods
13.4 表相关的Metamethods
第 14 章 环境
14.1 使用动态名字访问全局变量
14.2 声明全局变量
14.3 非全局的环境
第 15 章 Packages
15.1 基本方法
15.2 私有成员(Privacy)
15.3 包与文件
15.4 使用全局表
15.5 其他一些技巧(Other Facilities)
第 16 章 面向对象程序设计
16.1 类
16.2 继承
16.3 多重继承 122
16.4 私有性(privacy)
16.5 Single-Method的对象实现方法
第 17 章 Weak表
17.1 记忆函数
17.2 关联对象属性
17.3 重述带有默认值的表
第三篇 标准库
第 18 章 数学库
第 19 章 Table库
19.1 数组大小
19.2 插入/删除
19.3 排序
第 20 章 String库
20.1 模式匹配函数
20.2 模式
20.3 捕获(Captures)
20.4 转换的技巧(Tricks of the Trade)
第 21 章 IO库
21.1 简单I/O模式
21.2 完全I/O 模式
第 22 章 操作系统库
22.1 Date和Time
22.2 其它的系统调用
第 23 章 Debug库
23.1 自省(Introspective)
23.2 Hooks
23.3 Profiles
第四篇 C API
第 24 章 C API纵览
24.1 第一个示例程序
24.2 堆栈
24.3 C API的错误处理
第 25 章 扩展你的程序
25.1 表操作
25.2 调用Lua函数
25.3 通用的函数调用
第 26 章 调用C函数
26.1 C 函数
26.2 C 函数库
第 27 章 撰写C函数的技巧
27.1 数组操作
27.2 字符串处理
27.3 在C函数中保存状态
第 28 章 User-Defined Types in C
28.1 Userdata
28.2 Metatables
28.3 访问面向对象的数据
28.4 访问数组
28.5 Light Userdata
第 29 章 资源管理
29.1 目录迭代器
29.2 XML解析
应用信息
同类热门
类似软件
热门标签
网友评论0人参与,0条评论
最新排行
水力学第4版上册下册9.46Mpdf高清完整版水力学第4版上册下册是一本学习水力学的主要理论及其应用的教材,由吴持恭编写,高教育出版社出版,此版本在第3版基础上,保持了原书 “循序渐进、加强基础、理论联系实际、利于教学”的特点,采用了由浅人深的方式,讲述了水静力学、水动力学基础、液流型态和水头损失、
查看
oracle性能诊断艺术35.65Mpdf扫描版 oracle性能诊断艺术是一本Oracle数据库优化的里程碑式著作,由瑞士资深数据库专家Christian Antognini编著。书中的最佳实践和诸多建议全部来源于作者在实战一线的丰富积累,不仅简单实用,而且发人深省,堪称一座“宝库”,适合各层次
查看
ios6开发进阶与实战94.98Mpdf扫描版ios6开发进阶与实战是一本IOS6的开发指导书籍,由美国开发人员戴夫.马克、杰夫.拉马赫、凯文.金合作共同编著。本书不同于之前的基础类书籍,着重于提高与进阶,从Core Data、iCloud、Game Kit、Map Kit、消息、媒体以及安全性等诸
查看
2017通信与广电工程管理与实务22Mpdf高清版 2017通信与广电工程管理与实务就由中国通信企业协会通信工程建设分会组织通信行业富有技术和管理实践经验的专家,依据新修订的《一级建造师执业资格考试大纲>> (通信与广电工程)科目考试大纲编写而成,全书阐述了从事通信与广电工程项目管理所应
查看
嵌入式C/C++系统工程师实训教程30.25M庄严 pdf扫描版 嵌入式C/C++系统工程师实训教程是一本嵌入式C/C++学习书籍,由庄严,王骁和汤建敏三人共同编著。本书涵盖了嵌入式系统开发的必备知识,面向具体的系统开发工作内容,范例着重培训实际工作能力,读者在学完之后可以顺利成为合格的嵌入式系统开发工程师。全书
查看
php深度分析:101个核心技巧窍门和问题解决方法原书第2版48.46M沙菲克 pdf扫描版 php深度分析:101个核心技巧窍门和问题解决方法原书第2版是想要研究复杂PHP解决方案的PHP开发人员的必备伙伴,本书由德国PHP开发程序员BEN BALBO编著,周广辉、杨建军等翻译。全书首次汇集了定期发布在SitePoint论坛上的常见PHP
查看
硬件架构的艺术数字电路的设计方法与技术37.73Mpdf扫描版 硬件架构的艺术数字电路的设计方法与技术是由印度半导体公司高级系统工程师Mohit Arora编著的一本硬件架构设计图书,简称为硬件架构的艺术,是李海东,来萍,师谦等翻译,机械工业出版社出版。全书主要内容涉及时钟和复位,多时钟域设计,时钟分频器,低功
查看
你早该这么玩Excel25.86Mpdf完整版 你早该这么玩Excel pdf完整版,己做好全部的书签,即下即用。本电子书讲述的都是日常工作中常遇到一些Excel问题,通过最简单的方法,解决excel问题,帮助办公人员提高工作效率。另外软件包中附带了pdf阅读器,请自行下载! exc
查看
Dreamweaver Photoshop Flash Fireworks JavaScript网页制作实例大讲堂60.02Mpdf扫描版 Dreamweaver Photoshop Flash Fireworks JavaScript网页制作实例大讲堂是一本网页制作实战操作手册,由网页设计师孙宇编著。本书内容丰富翔实,主要讲解了制作一个合格网页的全部流程,其中详细介绍了Dreamwe
查看
python数据挖掘入门与实践8.03M罗伯特·莱顿(RobertLayton)扫描版 python数据挖掘入门与实践是一本Python入门数据挖掘技术指南,由澳大利亚计算机科学博士罗伯特·莱顿(RobertLayton)编著。本书使用简单易学且拥有丰富第三方库和良好社区氛围的Python语言,由浅入深,以真实数据作为研究对象,真刀实
查看
2017机电工程管理与实务电子书24.4M 2017机电工程管理与实务是一级建造师必考的科目,新版本教材整体变化不大,大概在5%左右,主要集中在第一篇章,第二编章增加修改了些案例,第三编章变化不大。比如p28-30页修改:六、机电工程中常见的工程测量(序号改变),p41页增加了内容:增加若采
查看