天天看點

Lua 疊代器周遊擷取長度其實并不準确,一般不要使用#來周遊表(除非你很确定這裡面的元素都是不間斷,中間也沒有為空的情況)**ipairs疊代器周遊pairs疊代器周遊總結

**疊代器周遊

主要用來周遊表

擷取長度其實并不準确,一般不要使用#來周遊表(除非你很确定這裡面的元素都是不間斷,中間也沒有為空的情況)**

Lua 疊代器周遊擷取長度其實并不準确,一般不要使用#來周遊表(除非你很确定這裡面的元素都是不間斷,中間也沒有為空的情況)**ipairs疊代器周遊pairs疊代器周遊總結

ipairs疊代器周遊

  • ipairs周遊還是從1開始周遊的,小于或等于0的不周遊
--ipairs
--先搞一個自定義索引
a = {[0]=1,2,[-1]=3,6}

for i,k in ipairs(a) do
    print("ipairs周遊"..i..'_'..k)
end           
Lua 疊代器周遊擷取長度其實并不準确,一般不要使用#來周遊表(除非你很确定這裡面的元素都是不間斷,中間也沒有為空的情況)**ipairs疊代器周遊pairs疊代器周遊總結

pairs疊代器周遊

pairs可以周遊是以資訊,建議使用其周遊各種不規則的表

--pairs疊代器周遊
b = {[0]=0,1,2,[3]=3,[5]=5,[-1]=-1,6}

for k,v in pairs(b) do
    print(k,v)
end           
Lua 疊代器周遊擷取長度其實并不準确,一般不要使用#來周遊表(除非你很确定這裡面的元素都是不間斷,中間也沒有為空的情況)**ipairs疊代器周遊pairs疊代器周遊總結

ipairs是index索引,是以從1開始,pairs是全部周遊

總結

tab1 = {[0]="1",[1]="1",[3]='3',key5 = "5",key6="6",key7="7"};

--輸出不完整
--[[
    跟C#不一樣,從序号1開始便利,前面都不會被周遊
    中間斷了也不會周遊
    key是文字也不會周遊
--]]
print("--------------ipairs")
for k,v in ipairs(tab1) do
    print(k..'  '..v)
end

--輸出順序不定
print("------------pairs")
for k,v in pairs(tab1) do
    print(k.."   "..v)
end           

繼續閱讀