Lua Tabel(数据集

541 词

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