Lua Tutorial

Collection(22) share
Read(22987) update time(2022-04-13)

Lua is a small scripting language. It is a research team at the Pontifical Catholic University of Rio de Janeiro in Brazil, composed of Roberto Ierusalimschy, Waldemar Celes and Luiz Henrique de Figueiredo and developed in 1993. It is designed to be embedded in applications to provide them with flexible extensions and customization capabilities. Lua is written in standard C and can be compiled and run on almost all operating systems and platforms. Lua does not provide a powerful library, which is determined by its positioning. Therefore, Lua is not suitable as a language for developing stand-alone applications. Lua has a concurrent JIT project that provides just-in-time compilation capabilities on specific platforms.


Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。 

下面让我们感受下第一个Lua程序!

第一个Lua程序

实例

print("Hello World!")

运行实例 »

点击 "运行实例" 按钮查看在线实例

Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。 一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。

提示:我们的Lua教程将帮助您学习从初级到高级的Lua知识。如果你有任何疑问,请前往PHP中文网Lua社区提出你的问题,会有热心网友为你解答。

Lua特性

  • 轻量级

Lua语言的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快,从而适合嵌入在别的程序里。5.0.2版的Lua的内核小于120KB,而Python的内核大约860KB,Perl的内核大约1.1MB。 

  • 可扩展

Lua并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。

  • 其它特性

Lua还具有其它一些特性:同时支持面向过程(procedure-oriented)编程和函数式编程(functional programming);自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程 [4]  ,并非操作系统所支持的线程)支持;通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。

Lua目标

Lua的目标是成为一个很容易嵌入其它语言中使用的语言。大多数程序员也认为它的确做到了这一点。

很多应用程序、游戏使用LUA作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。这其中包括魔兽世界、博德之门、愤怒的小鸟、QQ三国、VOCALOID3、Garry's Mod、太阳神三国杀、游戏王ygocore和饥荒等。

Lua应用场景

  • 游戏开发 

  • 独立应用脚本

  • Web 应用脚本

  • 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench

  • 安全系统,如入侵检测系统

本Lua教程手册涵盖的内容

本Lua教程涵盖所有Lua基础和高级知识,包含了Lua基本语法、Lua流程控制、Lua函数、Lua运算符、Lua字符串、Lua数组、Lua迭代器、Lua错误处理、Lua面向对象等等Lua初高级知识。

提示:本教程的每一章都包含了很多Lua实例,您可以直接点击 "运行实例" 按钮在线查看结果。这些例子将帮助您更好地理解和使用Lua语言。

Latest chapter


Lua 数据库访问 2016-10-20
Lua 面向对象 2016-10-18
Lua 垃圾回收 2016-10-18
Lua 调试(Debug) 2016-10-18
Lua 错误处理 2016-10-18
Lua 文件 I/O 2016-10-18
Lua 协同程序(coroutine) 2016-10-18
Lua 元表(Metatable) 2016-10-18