Lua編程示例(七):協(xié)同程序基礎(chǔ)邏輯
更新時(shí)間:2015年07月09日 10:48:09 投稿:junjie
這篇文章主要介紹了Lua編程示例(七):協(xié)同程序基礎(chǔ)邏輯,本文直接給出代碼實(shí)例,需要的朋友可以參考下
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") --第一次運(yùn)行執(zhí)行 coroutine.yield(a+b,a-b,"needless args") --在這停住,返回yield的參數(shù) print("Mgs") end) print(coroutine.resume(co,20,10)) --參數(shù)傳給yield,處理后再返回 print("I print first") coroutine.resume(co) co=coroutine.create(function() return "I'll return" end) print(coroutine.resume(co)) --主函數(shù)的返回值回傳給resume print()
輸出結(jié)果:
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
您可能感興趣的文章:
相關(guān)文章
Ruby元編程技術(shù)詳解(Ruby Metaprogramming techniques)
這篇文章主要介紹了Ruby元編程技術(shù)詳解(Ruby Metaprogramming techniques),本文講解了11個(gè)關(guān)于元編程的技術(shù)和技巧,需要的朋友可以參考下2015-04-04Lua面向?qū)ο缶幊讨惖暮唵螌?shí)現(xiàn)方式
這篇文章主要介紹了Lua面向?qū)ο缶幊讨惖暮唵螌?shí)現(xiàn)方式,本文直接給出一個(gè)類的編碼實(shí)例,并詳細(xì)講解了調(diào)用方式,需要的朋友可以參考下2015-04-04