打印指定字符串所有子字符串
function iter2(s)
s.endq = s.endq+ 1
if s.endq <= #s.line then --如果截取字符串最后一个字符位置不超过长度
return string.sub(s.line, s.start, s.endq)
elseif s.start <= #s.line then--超过长度则将截取字符串开头位置往后加1
s.start = s.start + 1
s.endq = s.start --截取字符串最后一个字符位置初始化为开头位置
return string.sub(s.line, s.start, s.endq)
end
end
function traverse(s)
local r = {line= s, start=1,endq=0}
return iter2,r
end
s = "hello"
for s in traverse(s) do
print(s)
end
转载于:https://blog.51cto.com/hjun169/1406134