前言

本教程旨在帮助lua新手入门以及对lua的大部分基本语法及使用技巧等进行了解.
本人水平有限,只能努力做的更好

注意:此教程为系列教程,但由于本人更擅长GameGuardian(Android的数据修改工具,支持运行Lua脚本),所以会侧重GGLua(语法与原生Lua大致相同,只是在细节处有差异.所以想入门原生Lua语言的也可以参考本教程).差异处本人会说明并分别给出GGLua和原生Lua的样本
本人还是学生党,所以大致只能保持一周两到三更,请见谅.
本系列教程思路可能不同于官方文档或菜鸟教程,请见谅.
本系列教程或多或少会借鉴官方文档和菜鸟教程.如有不喜,认为只是搬运,请左上退出.

菜鸟教程Lua教程
Lua官方网站
Lua官方文档

Lua简介

(觉得废话的可以跳过,不影响后续学习)

Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于 1993 年开发的,该小组成员有:Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo。

设计目的

其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

Lua特性

轻量级

它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。

可扩展

Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。

其他特性

支持面向过程(procedure-oriented)编程和函数式编程(functional programming);

自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;

语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;

通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。

Lua应用场景

游戏开发如: 梦幻西游
独立应用脚本
Web 应用脚本: lua-nginx-module
扩展和数据库插件如: MySQL Proxy 和 MySQL WorkBench
安全系统,如入侵检测系统, 防火墙
游戏作弊的脚本引擎如: GameGuardian

下期预告:Lua安装教程

更多推荐

Lua系列教程_前言