一个可以返回多值的迭代器

2015-12-14 0 200
一个可以返回多值的迭代器
function list_iter_time(t, time)
	local index = 0
	local size = #t
	return function()
		local result = {}
		--- bug local loop =  (size - index) % time and time
                local loop = size - index >= time and time or size % time
		if index + loop <= size then
			for i = 0, loop do
				table.insert(result, t[index + i + 1])
			end
			index = index + loop
		end
		return unpack(result)
	end
end

--sample
for val1, val2, val3 in list_iter_time({1, 2, 3, 4, 5, 6, 7, 8}, 3) do
	print(val1, val2, val3)
end

遇见资源网 lua 一个可以返回多值的迭代器 http://www.ox520.com/14734.html

一个可以返回多值的迭代器
上一篇:

已经没有上一篇了!

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务