lua程序设计(programming in lua)

lua程序设计(programming in lua)

大小: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。

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解析

展开全部内容
语言简体中文

同类热门

得间免费小说电脑版得间免费小说电脑版 南方Plus电脑版南方Plus电脑版 网易新闻电脑版网易新闻电脑版 潇湘书院电脑版潇湘书院电脑版 数据挖掘导论数据挖掘导论 开源阅读电脑版开源阅读电脑版 京东读书电脑版京东读书电脑版 未公开的Oracle数据库秘密未公开的Oracle数据库秘密

类似软件

热门标签

ps笔刷大全 在线视频会议软件推荐 电脑字体大全 图片降噪软件大全 Adobe 2022全家桶 超市播音软件推荐 电脑播放mkv文件的播放器 电脑视频压缩软件大全 快递单打印软件大全 好用的密码查看软件 dwg看图软件 音质音效增强软件大全

网友评论0人参与,0条评论

评论需审核后才能显示

最新排行

手游排行软件排行热门应用