標(biāo)準(zhǔn)庫(kù)提供了集中迭代器赠幕,包括迭代文件每行的(io.lines),迭代table元素的(pairs)询筏,迭代數(shù)組元素的(ipairs)榕堰,迭代字符串中單詞的(string.gmatch)等等
pairs可以遍歷表中所有的key,并且除了迭代器本身以及遍歷表本身還可以返回nil;
但是ipairs則不能返回nil,只能返回?cái)?shù)字0嫌套,如果遇到nil則退出逆屡。它只能遍歷到表中出現(xiàn)的第一個(gè)不是整數(shù)的key
local tabww = {}
tabww[1] = nil
tabww[2] = "wwwwwwww"
tabww[3] = "www"
tabww[4] = 3
tabww[5] = 20
table.insert( tabww, 30 )
for k, v in pairs(tabww) do
? ? ? ? ? print("測(cè)試pairs:", k, v )
end
for k, v in ipairs(tabww) do
? ? ? ? ?print("測(cè)試ipairs:", k, v )
end
pairs 能遍歷輸出每個(gè)元素 ? ? ?
ipairs 則不行 ? 碰到第一個(gè)值等于nil ? 就直接退出遍歷了