A5下载站:努力做内容最丰富最安全的下载站! 网站地图最新更新下载排行专题软件发布

热门软件

地铁跑酷

冒险迷岛

全民迷宫

连连消大作战

小河狸创客

阿里健康医鹿

支付宝app

番薯小说

MOMO陌陌

虾米音乐app

位置导航:A5下载 > 源码技巧 > 父类数据

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

时间:2015-07-09 15:35来源:a5源码作者:zhao浏览:24
这篇文章主要介绍了Lua编程示例(七):协同程序基础逻辑,本文直接给出代码实例,需要的朋友可以参考下……

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