coroutine.create(f):用函数 f 创建一个协程,返回 thread 类型对象。 coroutine.wrap(f):与前面 coroutine.create 一样,coroutine.wrap 函数也创建一个协程,与前者返回协程本身不同,后者返回一个函数。当调用该函数时,重新执行协程。
co01=
coroutine.create(
function(a) return 2*a
end)
a,b=
coroutine.resume(co01,
20)
print(a,b)
co02=
coroutine.wrap(
function(a) return 2*a
end)
c=co02(
20)
print(c)
print(
"==========分割线===========")
co =
coroutine.wrap(
function(a)
local c =
coroutine.yield(a+
1)
print(
"main func a: ",a)
return 2*a
end)
b = co(
20)
print(b)
d = co(b+
1)
print(d)
print(
"==========分割线===========")
co =
coroutine.create(
function(a) local c =
coroutine.yield(a+
1)
print(
"main func c: ",c)
return 2*a
end)
b,v =
coroutine.resume(co,
20)
print(b,v)
b,v =
coroutine.resume(co,
20)
print(b,v)
转载请注明原文地址: https://ju.6miu.com/read-971662.html