A5下载 - 努力做内容最丰富最安全的下载站!

A5站长下载站

当前位置:A5下载 > 源码技巧 > 父类数据 > Lua编程示例(七):协同程序基础逻辑

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

时间:2015-07-09 15:35作者:zhao人气:24

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

标签Lua,编程,示例,协同,程序,基础,逻辑,coroutin

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

公众号