lua开发基础语法
安装
最好的实践是:在win10安装WSL(windows子系统)的ubuntu,然后使用
sudo apt install lua3
就可以了
简单语法
-- 返回arg1的阶乘
function demo0(arg1)
if arg1==1 then
return 1
end
return arg1*demo0(arg1-1)
end
-- 运行结果为
-- root@MSI:/home/chaojilaji/lua-demo# lua demo.lua
-- 3628800
-- 连接元组
function demo1()
a = {
"1","2","3","4"
}
return table.concat( a, ", ", 1, 4 )
end
-- 注意:a的下标是从1开始的
-- 运行结果为
-- root@MSI:/home/chaojilaji/lua-demo# lua demo.lua
-- 1, 2, 3, 4
-- 循环
function demo2()
a = {
1,2,3,4
}
for key, value in pairs(a) do
print(key .. " : " .. value)
end
end
-- 运行结果为
-- root@MSI:/home/chaojilaji/lua-demo# lua demo.lua
-- 1 : 1
-- 2 : 2
-- 3 : 3
-- 4 : 4
-- 变量 local 表示局部变量,如果不标记local则表示未全局变量
function demo3()
do
local a = 1
b = 2
end
print(a,b)
end
-- 匿名函数
function demo4(arg1)
a = function (arg2)
return demo0(arg2)
end
print(a(arg1),arg1)
end
-- while 循环
function demo5()
cnt = 3
while cnt>0 do
print(cnt)
cnt = cnt - 1
end
end
-- 条件判断语句
function demo6(arg1)
if arg1 == 1 then
return 50
elseif arg1 == 2 then
return 2*100
else
return arg1
end
end
-- 函数可作为参数传入函数
function demo7(arg1,arg2)
return arg2(arg1)
end
-- 可变参数
function demo8(...)
print(select("#",...))
local arg1 = {...}
for i, value in pairs(arg1) do
print(i .. " : " .. value)
end
end
-- 不等于 ~=
function demo9(arg1, arg2)
print(arg1 == arg2)
print(arg1 ~= arg2)
print(arg1 >= arg2)
print(arg1 <= arg2)
end
-- or and not
function demo10(arg1,arg2)
print(arg1 == arg2 or arg1 > arg2)
print(arg1 <= arg2 and arg1 == arg2)
end
-- 字符串处理函数 string
function demo12(arg1 )
print(string.gsub( arg1,"a", "c",3))
print(string.find( arg1,"a",1 ))
print(string.reverse( arg1 ))
end
a = 'dasadasda'
b = "ewqeqewqewq"
c = [[zxczcxzczcxz]]