所谓“迭代器"(Iterator)就是一种可以遍历(iterate over)一种集合中所有元素的机制。
1、首先创建一个.lua文件,向其中输入:
function allwords()
local line=io.read()
local pos=1
return function()
while line do
local s,e=string.find(line,"%w+",pos)
if s then
pos=e+1
return string.sub(line,s,e)
else
line=io.read()
pos=1
end
end
return nil
end
end
for word in allwords() do
print(word)
end
2、用lua解释器执行该脚本:
由上例可知,迭代器虽然编写比较麻烦,但是调用迭代器时,非常简便,这就是迭代器的好处。