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个参数,迭代器函数、恒定状态、控制变量初始值