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是通过下次传的参数,而不是实际的返回值。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |