lua中的coroutine
发布时间:2020-12-14 22:18:21  所属栏目:大数据  来源:网络整理 
            导读:function foo (a) print("foo",a) return 2*a --return coroutine.yield(2*a) end co = coroutine.create(function (a,b) print("co-body",a,b) local r = foo(a+1) r = coroutine.yield() print("after yeild!") print("co-body",r) local r,s = coroutine.
                
                
                
            
                             function foo (a)
       print("foo",a)
       return 2*a
       --return coroutine.yield(2*a)
     end
     co = coroutine.create(function (a,b)
           print("co-body",a,b)
           local r = foo(a+1)
	   r = coroutine.yield()
	   print("after yeild!")
           print("co-body",r)
           local r,s = coroutine.yield(a+b,a-b)
           print("co-body",r,s)
           return b,"end"
     end)
     print("main",coroutine.resume(co,1,10))
     print("main","z"))
     print("main","x","y"))
     print("main","y")) 
结果 co-body 1 10 foo 2main true after yeild! co-body z main true 11 -9 co-body x y main true 10 end main false cannot resume dead coroutine 感觉上形如r = coroutine.yield()这种的r是通过下次传的参数,而不是实际的返回值。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
