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