源于最近学习openresty,使用lua的场景越来越多。而之前只是零星的了解了一些基本语法,认知并不全面。所以打算进一步系统的学习lua,并记录学习所得以及遇到的一些问题,以便以后查阅和巩固。

lua简介

lua,在葡萄牙语里代表美丽的月亮。而lua语法也正如这个词,简洁和优雅。lua,是一门动态的脚本语言,是巴西里约热内卢天主教大学三个研究员于1993年开发,并完全用 ANSI C 编写。目前广泛应用于游戏开发、分布式应用等各种领域。

lua 与 luajit

luaJIT 是lua的解释器。它是和标准lua并行的一个项目。luajit完全兼容标准lua的语法,所以lua代码可以同时在标准lua和luaJIT下运行。luaJIT 利用即时编译(just in time)技术,把lua代码编译成本地机器码后交由CPU执行,是标准lua解释器的执行速度的10倍。
关于luajit为什么比标准lua更快,可以戳这边文章What makes LuaJIT faster than Lua

后续的文章中,我将使用更快的luajit。openresty目前也从OpenResty 1.5.8.1 版本,默认使用luaJIT作为lua解释器。

不过,本文中还是会分别介绍标准lua和luaJIT的安装。

lua 安装

lua安装非常的简单,我们按照官网源码编译的方式安装。目前最新版为5.3.3,可以选择自己需要安装的版本。

lua 官网安装https://www.lua.org/start.html#installing

1
2
3
4
5
6
7
8
9
10
11
curl -R -O http://www.lua.org/ftp/lua-5.3.3.tar.gz
tar zxf lua-5.3.3.tar.gz
cd lua-5.3.3
//linux下编译
make linux test
// mac os
make macosx test
//安装
sudo make install

没错,这样就安装成功了。lua指令默认安装在/usr/local/bin/lua
验证lua安装成功。

1
2
$ lua -v
Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio

luaJIT 安装

luaJIT安装也很方便,我们也按照官网源码编译的方式安装。目前最新版为2.0,可以选择自己需要安装的版本。

luaJIT 官网 http://luajit.org/index.html

1
2
3
4
5
6
7
8
9
10
//下载
git clone http://luajit.org/git/luajit-2.0.git
tar zxf LuaJIT-2.0.4.tar.gz
cd LuaJIT-2.0.4
//linux下编译
make
//安装
sudo make install

至此luaJIT也安装成功了。luaJIT指令默认安装在/usr/local/bin/luajit
验证luaJIT安装成功。

1
2
$ luajit -v
LuaJIT 2.0.4 -- Copyright (C) 2005-2016 Mike Pall. http://luajit.org/

现在,我们可以愉快的使用lua了。下面我们将进一步学习lua的基本语法。