lua 链表 迭代器

local function getnext (list, node)
	if not node then
		return list
	else
		return node.next
	end
end

function traverse(list)
	return getnext, list, nil
end

list = nil

for line in io.lines() do
	if line == "" then
		break
	end
	list = {val = line, next = list}
end

for node in traverse(list) do
	print(node.val)
end

你可能感兴趣的:(lua 链表 迭代器)