Lua Tabel(数据集
k是键值对还是索引
mytable = {
k = "a" -- 这里的k是键值对
}
print(mytable[k]) -- nil
print(mytable["k"]) -- a
k = "ok"
mytable[k] = "b" – 这里的k是索引
print(mytable[k]) – b
print(mytable.k) – a
– mytable.k 等价 mytable["k"]
ipairs与pairs
– ipairs 迭代器与普通for do一致,按当前隐式索引去迭代显示 会将设定的键值对忽略!
– pairs 迭代器将所有隐私索引、设定的键值对值都显示出来,但会不完全按书写顺序来索引!
mytable2 = {
a = "ok",
config = {1,2,3},
8
}
for i=1,#mytable2 do
print(mytable2[i]) -- 8
end
for i,v in ipairs(mytable2) do
print(i,v) -- 1 8
end
for k,v in pairs(mytable2) do
print(k,v) -- 1 8 config table: 0x7fba7b4069d0 a ok
end