首页 > 开发 > 综合 > 正文

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

2024-07-21 23:04:59
字体:
来源:转载
供稿:网友
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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表