标签:
在Lua中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素.
function list_iter(t) local i=0 local n=table.getn(t) return function() i=i+1 if i<=n then return t[i] end end end t={10,20,30} for elem in list_iter(t) do print(elem) end
范性for的语义:
for var_1,...,var_n in explist do block end --等价于 do local _f ,_s,_var=explist--返回迭代函数、状态常量、控制变量 while true do local var_1,...,var_n =_f(_s,_var) _var=var_1 if _var==nil then break end block end end
无状态的迭代器:
标签:
原文地址:http://www.cnblogs.com/ljygoodgoodstudydaydayup/p/4462595.html