coroutine.resume
配合使用时,可以唤醒指定的函数调用。coroutine.resume
的返回值。coroutine.resume
的调用者。下面是一个使用 coroutine.wrap
的完整示例代码,它演示了如何创建和使用协同程序:
lua-- 定义一个函数,这个函数将作为协同程序执行
local function myCoroutine()
for i = 1, 3 do
print("Coroutine:", i)
coroutine.yield(i) -- 挂起协同程序,并返回 i
end
end
-- 创建协同程序
local co = coroutine.wrap(myCoroutine)
-- 启动和恢复协同程序
co() -- 启动协同程序,输出 "Coroutine: 1"
print(co) -- 输出协同程序的返回值,这里是 1
co() -- 恢复协同程序,输出 "Coroutine: 2"
print(co) -- 输出协同程序的返回值,这里是 2
co() -- 再次恢复协同程序,输出 "Coroutine: 3"
print(co) -- 输出协同程序的返回值,这里是 3
-- 协同程序执行完毕,再次调用将返回 nil
print(co()) -- 输出 nil
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。