变量申明
local a=1 --局部变量
b=2 --全局变量
a,b=1,2
print(a,b,c)
---------------
1,2,nil
---------------
nil
是所有未定义变量的初始值
数据运算
a=0x11
b=2e10
print(a,b)
---------------
17 20000000000.0
---------------
print(a+b)
---------------
20000000017.0
---------------
print(1<<3)
---------------
8
---------------
字符串
--字符串声明
a='123'
b="456"
--字符连接
c=a..b
print(c)
--字符串的长度
print(#c)
--原原本本保留字符
d=[[a
\nb]]
print(d)
--字符串与数值之间的转换
e = tostring(10)
f = tonumber("20")
print(e)
print(f)
数字下标
a={1,"ac",{},function()end}
a[5]=123
--末尾插入
table.insert(a, "d")
--中间插入
table.insert(a,2,88)
print(#a)
print(a[2])
print(a[3])
print(a[7])
---------------
7
88
ac
d
---------------
-- 中间删除,并返回删除值
local s = table.remove(a, 2)
print(a[2])
print(s)
---------------
ac
88
---------------
字符串下标
a={
a=1,
b="hello",
c=function()
end,
[";;."]=123
}
print(a["a"])
print(a.a)
print(a[";;."])
---------------
[16:32:16] 1
[16:32:16] 1
[16:32:16] 123
---------------
--赋值
a["abc"]="abcdef"
print(a.abc)
---------------
[16:32:16] abcdef
---------------
全局表
a=1
b="wd"
print(_G["a"])
print(_G["table"])
print(_G["table"]["insert"])
---------------
[16:40:03] 1
[16:40:03] table: 0x10
[16:40:03] function: 0xc4
---------------
真和假
a=nil --假
b=0 --真
print(a and b)
print(a or b)
print(not a)
--三目运算符
print(b>10 and "yes" or "no")
---------------
[16:48:45] nil
[16:48:45] 0
[16:48:45] true
[16:48:45] no
---------------
在lua中0
不是代表假,false
和nil
代表假