欢迎来到代码驿站!

当前位置:首页 >

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

时间:2021-01-16 12:31:38|栏目:|点击:
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()
 end
end)
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)) --主函数的返回值回传给resume
print()

输出结果:

suspended
hi
dead

co 1
suspended
co 2
suspended
dead

co 1 2 3
I'm before yield
true 30 10 needless args
I print first
Mgs
true I'll return


上一篇:PowerShell脚本trap语句捕获异常写法实例

栏    目:

下一篇:Powershell小技巧之通过EventLog查看近期电脑开机和关机时间

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

本文地址:http://www.codeinn.net/misctech/46175.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有