在这个网站上 http://www.lua.org/pil/9.2.html有一个协程的例子。
我在没有协同程序的情况下编写了相同的示例,在官方示例中我没有看到协同程序的任何优势。在这个例子中使用协同程序是否有优势呢?
同样没有协程(我将io.input
替换为math.random
)
local line = 1
function Produce ()
local value = math.random(10)
return value
end
function Filter ()
while true do
local value = Produce()
value = string.format("%3d %s", line, value)
line = line + 1
return value
end
end
function Consum ()
while true do
local value = Filter()
print(value, "\n")
end
end
Consum()