local conl=false-- then 代表起始大括号-- end 代表结束大括号-- else 代表结束和起始大括号-- elseif 后面得根thenif(conl)thenprint("条件1达成")elseif(true)thenprint("条件3达成")elseprint("条件2达成")end
if(true)thenif(true)thenprint("进入第二层")endend
循环
-- 循环local num =1while(num<3)doprint(num)
num=num+1end
local num =1repeatprint(num)
num=num+1until(num>5)
local data={"aa","bb","cc"}-- 参数1:变量初始值,遍历Lua表使用1-- 参数2:增长到多少-- 参数3:增长步长for i=1,#data,2doprint(data[i])end-- aa cc-- 倒叙for i=#data,1,-1doprint(data[i])end
local t1={1,2,3}-- 期望打印table是,以{1,2,3}方式显示print(t1[1])print(t1[2])print(t1[3])-- 打印时,将表作为字符串输出-- 这种办法,Lua提供特性,metatable扩展setmetatable(
t1,-- 需要进行元表扩展的数据表{-- 拥有扩展t1的元表,只要再元表种实现一些特殊的函数-- t1就可以实现特殊的功能
__tostring =function(t)-- 元方法,被当成字符串使用,有则自动调用local format="{"for k,v inpairs(t)doprint(v)
format=format.."("..k ..",".. v .."),"end
format=format.."}"return format
end})-- t1会传递给tprint(t1)
mytable =setmetatable({10,20,30},{
__tostring =function(mytable)
sum =0for k, v inpairs(mytable)doprint(k..','..v)
sum = sum + v
endreturn"表所有元素的和为 ".. sum
end})print(mytable)