Lua 入门到精通( 01 Lua 简介以及软件安装)《做一个脚本高手》
我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的 JavaLib」第一时间阅读最新文章,回复【资料】,即可获得我精心整理的技术资料,电子书籍,一线大厂面试资料和优秀简历模板。
0 传送门
近期会讲解 Lua 语言编程系列,从最基础入门,到精通,实战,保姆级教程。本文是 Lua 第一篇,下面是传送门,会持续输出 ...
1 Lua 简介
Lua 是一个小巧的脚本语言,是巴西里约热内卢天主教大学里的一个研究小组于 1993 年开发的。
Lua 使用标准 C 语言编写并以源代码形式开放,几乎在所有操作系统和平台上都能编译运行。Lua 脚本可以调用 C/C++ 的函数,也可以被 C/C++ 代码调用,所以 Lua 在应用程序中可以被广泛应用。
Lua 并没有提供强大的库,这是由它的定位决定的。所以 Lua 不适合作为开发独立应用程序的语言。其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。
Lua 体积小、启动速度快,一个完整的 Lua 解释器不过 200k,在所有脚本引擎中,Lua 的速可以于说是最快的。所以 Lua 是作为嵌入式脚本的最佳选择。这也就是我们为什么要学习 Lua 这门语言。
那 Lua 语言能干吗呢?其实它主要是用作脚本语言,用来开发脚本,例如编写游戏辅助脚本,在 Redis 中使用 Lua 脚本等。
Lua 官网地址:http://www.lua.org/
2 Lua 特性
轻量级:Lua 使用标准 C 语言编写,Lua 语言的官方版本只包括一个精简的核心和最基本的库,体积小、启动速度快,一个完整的 Lua 解释器不过 200k,适合嵌入在别的程序里。
可扩展:Lua 提供了非常易于使用的扩展接口和机制,由宿主语言(通常是 C 或 C++ )提供这些功能,Lua 可以使用它们,就像是本来就内置的功能一样。
其它特性:
支持面向过程( procedure-oriented )编程和函数式编程( functional programming );
自动内存管理;
只提供了一种通用类型的表(table),但可以用它实现数组,哈希表,集合,对象;
闭包( closure ),通过闭包和表可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。;
提供多线程(协同进程,并非操作系统所支持的线程)支持;
3 应用场景
游戏开发,例如游戏辅助脚本。
应用脚本,例如 Redis 使用 Lua 脚本。
数据库插件,例如 MySQL Proxy 和 MySQL WorkBench。
安全系统,如入侵检测系统。
4 环境安装
目前 Lua 最新版本是 Lua 5.4.3。可在官网下载: http://www.lua.org/download.html
Windows 版本安装包可以在 Github 下载:https://github.com/rjpcomputing/luaforwindows/releases
4.1 Linux 系统上安装
Linux 系统上安装 Lua 非常简单,直接下载压缩包,解压编译即可。
然后我们可以打开 Lua 交互程序,使用 Lua 的打印语句,验证并体验第一个程序。
当然也可以新建一个 Lua 脚本文件,例如 chenpi.lua ,然后打开文件编写如下代码。
执行以下命令,执行 Lua 脚本。
当然也可以将 Lua 脚本作为一个可执行文件来执行,第一行说明用什么解释器来执行,Lua 脚本内容如下:
然后赋予文件可执行权限,然后执行。
4.2 Window 系统上安装
下载压缩包,解压到我们想要安装的目录下即可。
解压后,双击打开 files
目录下的 lua5.1.exe
即可打开交互窗口,如下:
而且在 SciTE
目录下 SciTE.exe
程序是一个可编辑 Lua 代码的编辑器。
版权声明: 本文为 InfoQ 作者【陈皮的JavaLib】的原创文章。
原文链接:【http://xie.infoq.cn/article/5735202cc4383c3da76043bfd】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论 (1 条评论)