a = {"one","two","three"} for i,v in ipairs(a) do print(i,v) end local function iter(a,i) i = i+1 local v = a[i] if v then return i,v end end function ipairss(a) return iter,a,0 end for i,v in ipairss(a) do print(v) --和ipairs的输出一样 end
可以看出,for使用迭代器,in需要获3个参数,迭代器函数、恒定状态、控制变量初始值