Lua編程示例(七):協(xié)同程序基礎邏輯
更新時間:2015年07月09日 10:48:09 投稿:junjie
這篇文章主要介紹了Lua編程示例(七):協(xié)同程序基礎邏輯,本文直接給出代碼實例,需要的朋友可以參考下
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") --第一次運行執(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()
輸出結果:
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
相關文章
Ruby元編程技術詳解(Ruby Metaprogramming techniques)
這篇文章主要介紹了Ruby元編程技術詳解(Ruby Metaprogramming techniques),本文講解了11個關于元編程的技術和技巧,需要的朋友可以參考下2015-04-04