Lua编程示例(七):协同程序基础逻辑

时间:2021-05-22

co=coroutine.create(function() print("hi")end)print(coroutine.status(co))coroutine.resume(co)print(coroutine.status(co))print()co=coroutine.create(function() for i=1,2 do print("co",i) coroutine.yield() endend)coroutine.resume(co)print(coroutine.status(co))coroutine.resume(co)print(coroutine.status(co))coroutine.resume(co) --没有输出print(coroutine.status(co))print()co=coroutine.create(function(a,b,c) print("co",a,b,c)end)coroutine.resume(co,1,2,3)co=coroutine.create(function(a,b) print("I'm before yield") --第一次运行执行 coroutine.yield(a+b,a-b,"needless args") --在这停住,返回yield的参数 print("Mgs")end)print(coroutine.resume(co,20,10)) --参数传给yield,处理后再返回print("I print first")coroutine.resume(co)co=coroutine.create(function() return "I'll return"end)print(coroutine.resume(co)) --主函数的返回值回传给resumeprint()

输出结果:

suspendedhideadco 1suspendedco 2suspendeddeadco 1 2 3I'm before yieldtrue 30 10 needless argsI print firstMgstrue I'll return


声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章