table
声明方式
方式1:
-- 使用下标访问的table (类似js的数组)
table = {1,2,3,4,5}
方式2:
-- 使用名称范围的table (类似js的对象)
person = {
name = "cps",
age = 18,
getName = function()
print(person::name..persion::age)
end,
["特殊字符串"] = '/.ads,fpoz902384098'
}
person['name'] = 'new_name'
print(person.name)
声明函数
-- 这样也可以对table进行函数的添加
person = {name = "cps"}
function person.say()
print(person.name, 'say')
end
遍历
for ... do
--打印数组a的所有值
a = {"one", "two", "three"}
for i, v in ipairs(a) do
print(i, v)
end
days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}
for i,v in ipairs(days) do
print(v)
end
local testTable = {1,2,3,4,5,6}
-- #testTable 的作用是获取 testTable的长度
for i = 1, #testTable do
print(testTable[i])
end
for ... in .. do
local testTable = {1,2,3,4,5,6}
-- ipairs() 内置函数,返回数组的下标和数据
for index,calue in ipairs(testTable) do
print(testTable[i])
end
空判断
-- 使用next()是否返回nil来判断一个table是否为空
tar = {}
function isEmpty(tar)
if next(tar) == nil
return nil
else
return #tar
end