Lua 的安装与入门教程

Lua 语言出生于 1993 年,在近年来被逐渐放大。Lua 很小,编译后通常只有几百 kb,比我们常见的 Shell 都还要小。所以很多系统或项目都采用 Lua 作为脚本语言。

常见的游戏脚本,Nginx,Wireshark,OpenResty,Redis 等都是把 Lua 作为底层的的脚本来实现一些扩展功能。

Lua 虽然很火,但是网上针对 Lua 的系统学习资料非常的少,不仅如此,还非常的不全,同时还存在不少的小坑。我最近就遇到了几个,于是我不得不,从官网阅读帮助文档,从零开始,码出未来!

首先是安装,虽然是简单,但是往往是最简单的,需要的人最多。

我这里以 Mac 为例,安装有两种方法。

第一种是,通过 Homebrew 来安装。

#搜索 lua 软件
brew search lua
#执行安装命令
brew install lua@5.1

使用 Homebrew 的缺点就是,非最新版,因为截止到我的这篇文章,官方最新稳定版本已经到 5.3 了。所以,我采用就是第二种方法。

curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz
tar zxf lua-5.3.5.tar.gz
cd lua-5.3.5
# Linux 使用 make linux test
# Mac 使用 make macosx test
make macosx test

编译完成后,src 目录下会生成 3 个主要的文件:lua(解释器),luac(编译器)和 liblua.a(库)。

上面我们在编译完成后,顺带执行了 test 测试。test 其实就是执行 src/lua -v,输出版本号。

src/lua -v
#或者
make test

当我们编译过 lua 后,我们就可以进行安装了,要注意权限问题,否则会报 Permission denied 或 make: *** [install] Error 1 等问题。

cd lua-5.3.5
make macosx
sudo make install

待安装完成后,我们就可以开始完整 lua 了。先来一个 hello world!

Lua 的安装与入门教程
Lua Hello World

也可以把多行代码,写在文件中,然后执行文件。比如,我们在 xttblog.lua 文件中写入下面的代码。

print("Hello World")
print("www.xttblog.com")

然后,执行 lua xttblog.lua 就可以运行了。
lua 也支持注释,两个减号“–”是行注释,–[[块注释–]]。

print("Hello World")
print("www.xttblog.com”)
--我是行注释
--[[我是块注释
我可以换行--]]

Lua 的变量很简单,Lua 的数字只有 double 型,64 位的浮点运算处理速度也很快。除非大于 100,000,000,000,000 的数字,可能会有精度问题。

num = 1024
num = 52.0
num = 1314.520
num = 520.16e-2
num = 0.88816E1
num = 0xff
num = 0x56

0x 开头的是 16 进制,这点和 C 很像。

lua 的字符串很有特点。字符串可以用单引号,也可以用双引号,还支持C类型的转义,比如: ‘/a’ (响铃), ‘/b’ (退格), ‘/f’ (表单), ‘/n’ (换行), ‘/r’ (回车), ‘/t’ (横向制表), ‘/v’ (纵向制表), ‘/’ (反斜杠), ‘/”‘ (双引号), 以及 ‘/” (单引号)。

str = 'xttblog/n123"'
str = "xttblog/n123/""
str = '/97xttblog/10/04923"'
str = [[xttblog
123"]]

可以看到,lua 还支持两个中括号包含有换行的字符串,这一特性很多语言都有,Java 除外。

Lua 中的 null 是用 nil 表示的。这一点从 Redis 中也可以看出。

v = UndefinedVariable
-- UndefinedVariable 是未定义的变量,所以,v = nil

布尔类型有 3 个值,分别是 nil、false,true,数字 0,‘’空字符串(’/0’)都是 true!nil 和 false 都代表 false。

lua 中的变量默认情况下全是全局变量,那怕是语句块或是函数里。只有在变量前加 local 关键字的才是局部变量。

theGlobalVar = "全局变量"
local theLocalVar = "局部变量"

关于 Lua,这篇文章先做个结尾,下篇我们学习分支,循环等内容。

Lua 的安装与入门教程

: » Lua 的安装与入门教程

原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/252133.html

(0)
上一篇 2022年5月4日
下一篇 2022年5月4日

相关推荐

发表回复

登录后才能评论