大数据方向,lua脚本是和Nginx和Openresty结合使用的
Lua脚本语言入门
文章目录
一、idea集成Lua
下载该插件,新建项目的时候选择maven,右键新建文件的时候则有新建lua文件
导入编译器
二、Lua脚本语法
2.1 数据类型
支持的字符串类型有string、number、function、boolean、table、nil(无类型)
2.2 查看数据类型
print(type("helloword"))
2.3 运算符
+ - * /
< > <= >= ~=
and or not
# --- 求字符串长度,print(#"helloworld")
.. --- 拼接字符串不能使用加号,只能使用..进行拼接,print("hello".."world")
2.4 局部变量、全局变量
local a=1 --- 局部变量
b=2 --- 全局变量
2.5 函数
function joke()
c = 5
local d = 6
end
joke()
print(c, d)
2.6 if分支
if(条件)
then
语法
do
if(条件)
then
语法
else
语法
end
2.7 循环结构
while(条件)
do
语法
end
repeat ---类似do-while循环
语法
until(条件)
for var = exp1,exp2,exp3 do ---从exp1变化到exp2,每次变化以exp3为步长递增var,并执行一次执行体。
print(i) ---exp3是可选的,如果不指定默认就是1
end
for i=1,10 do ---步长为1
print(i)
end
for i=1,10,2 do ---步长为2
print(i)
end
2.8 数组、泛型for循环
2.9 类型转换tostring()、tonumber()
print(tostring("10"))
print(tonumber("A",16)) --- A转16进制
2.10 函数返回值
function fun(a,b,c,d)
return a,b,c,d
end
local r,t,y,u = func(1,2,3,4) ---接收函数返回值的时候一般都是定义成局部变量
2.11 table类型(理解为Java中的map类型)
table1 = {name = "zhang"}
table1.age = 22
print(table1.name)
print(table1.age)
2.12 引入模块
新建一个文件test1
local xy = 10 ---局部变量是无法引入到另一个模块的
yx = 456
引入test1模块
require "test1" ---引入多级的文件,使用 文件夹.文件名
print(xy) - ---无法引入xy
print(yx) ---456