返回

function test() tt = 11 --local env = setmetatable({}, {__index = _G}) setfenv(1,{ coroutine = coroutine, print = print, getfenv = getfenv, pairs = pairs }) coroutine.yield() print("----------------", getfenv(1)) for k,v in pairs(getfenv(1)) do print(k,v) endend

local co1 = coroutine.create(test)local co2 = coroutine.create(test)

print(coroutine.resume(co1))-- 这里的时候co2的环境已经让co1刚的resume改变了。这是怎么回事-- 输出了attempt to call global 'setfenv' (a nil value)print(coroutine.resume(co2))

print(coroutine.resume(co1))print(coroutine.resume(co2))

名字: 自动排版 密码:

回复 | (2498) | zeropool | 2011-12-16 06:35:24