首页 > 学院 > 开发设计 > 正文

lua迭代器原理

2019-11-06 06:21:35
字体:
来源:转载
供稿:网友

当lua调用for循环中的ipairs(a)时,它会获得三个值:迭代器函数iter、恒定状态a和控制变量的处置0。然后lua调用iter(a,0),得到1,a[1]。在第二次迭代中,继续调用iter(a,1),得到2,a[2],依次类推,直到得到的第一个nil元素为止。pairs与ipairs类似,也是用于遍历一个table中的所有元素。不同的是,它的迭代器函数是lua中的一个基本函数next。

local function iter(a,i)	i=i+1	local v=a[i]	if v then		return i,v	endendlocal function ipairsss(a)	return iter,a,0endlocal function pairsss(a)	return next,a,nilendlocal b={1,2,3,4,5,6,7}for i,v in pairsss(b) do	PRint(i,v)end


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表