说明:
lua是一个脚本语言,适合nginx缓存、redis实现事务、web应用、数据库插件等
一、centos7下安装lua:
1.安装lua依赖:
[root@localhost ~]# yum install -y gcc gcc-c++ libtermcap-devel ncurses-devel libevent-devel readline-devel
2.安装lua:
(1)下载lua-5.4.0.tar.gz:
http://www.lua.org/download.html
(2)用Xftp上传到/root目录,并解压:
[root@localhost ~]# cd lua-5.4.0
(3)cd到lua-5.4.0目录,编译安装:
[root@localhost lua-5.4.0]# make linux test
二、lua使用:
1.创建与执行lua脚本:
(1)创建.lua文件方式:
[root@localhost ~]# vi a.lua
执行.lua文件(类似java文件,文件内容就是代码):
[root@localhost ~]# lua a.lua
(2)进入控制台方式,进入控制台后输入代码,按回车执行:
[root@localhost ~]# lua #或 lua -i
三、lua语法:
1.注释:
(1)注释单行:
--要注释的内容
(2)注释多行:
--[[
要注释的内容
--]]
2.变量:
(1)变量类型:
nil:空值
boolean:布尔,true、false
number:双精度,例1.34
string:字符串,例"abc"
function:函数
userdata:C数据结构
thread:线程
table:表(关联数组)
打印类型:
print(type(值))
(2)定义变量:
a=123 --全局变量
local a=123 --局部变量
3.if流程控制:
if(条件表达式)
then
--执行满足条件的代码
else
--执行不满足条件的代码
end
4.循环:
(1)while-do:
while(条件表达式)
do
--执行满足条件的代码
end
(2)repeat-until:
说明:不满足条件,继续循环,直达满足条件退出循环。
repeat
--执行满足条件的代码
until(不满足的条件表达式)
例:
i=0
repeat
print(i)
i=i+1
until(i>5) --不满足条件,继续循环
(3)for:
for i=初始值,结束值,递增值
do
--执行满足条件的代码
end
例:
for i=1,5,1 --循环5次,每次i+1
do
print(i)
end
5.函数:
定义:
function 函数名(参数名1, 参数名2...)
//代码
return 值 --没有返回值省略此句
end
调用:
函数名(参数值1,参数值2...)
例:
function a(a1, a2) --定义函数
print(a1)
return 1
end
a(1,2) --调用函数
6.拼接:
值1 .. 值2
例:
print("a".."b")
7.表:
表名={} --初始化
表名[0]="值" --赋值
例:
user={}
user[0]="yyh"
8.模块:
说明:就是创建一个通用类,在内部实现通用方法,让其他类调用。
(1)创建通用lua文件:
[root@localhost ~]# vi 文件名.lua
增加如下内容(在通用lua文件内部实现通用方法):
模块名={} --定义模块名
模块名.常量名1="值" --定义常量
function 模块名.函数名1() --定义公有函数
--执行的代码
end
function 函数名2() --定义私有函数
--执行的代码
end
return 模块名
(2)用require函数引入外部lua文件:
require("<模块名>") --或require"<模块名>"
模块名.常量名1 --调用通用类中的常量
模块名.函数名1() --调用通用类中的方法