--第一种自定义(闭包迭代器)写法: print("遍历可变长参数列表, 第一种自定义写法 ") local function ErgodicList3(...) local i, t = 0, {n = select("#",...), ...} return function() if i < t.n then i = i + 1 return i, t[i] end end end for i,j in ErgodicList3(7,nil,nil) do print(j) end --第二种自定义(迭代器)写法: print("遍历可变长参数列表, 第二种自定义写法") --迭代器中的参数是状态常量和控制变量 其中t是状态常量, a是控制变量 local function ErgodicList4(t,a) if a < t.n then a = a + 1 return a, t[a] --返回的第一个返回值必须是控制变量 end end for i, j in ErgodicList4,{10,20,30,n = 3},0 do print(i, j) end
标签:end,迭代,自定义,05,--,print,写法 From: https://www.cnblogs.com/xgkj/p/16779836.html