问题:Write an iterator fromto such that the next two loops become
equivalent:
for i in fromto(n, m)
<body>
end
for i = n, m
<body>
end
Can you implement it as a stateless iterator?
解答:
function iter(m,i)
i = i + 1
if(i <= m) then
return i,m
end
end
function fromto(n, m)
return iter,m,n-1 --返回指针函数,不变量,控制变量
end
n=91
m=100
for i,j in fromto(n,m) do
print(i, m)
end
本文出自 “纯技术纯探讨” 博客,请务必保留此出处http://hjun169.blog.51cto.com/3600246/1406089
原文:http://hjun169.blog.51cto.com/3600246/1406089