4
我正在學習Lua協同程序。我發現了一個weired事情對我來說,無論是退貨或不退貨
meta = function()
for i = 1, 10 do
coroutine.yield(i)
end
end
for i in coroutine.wrap(function() return meta() end) do
print(i)
end
和
meta = function()
for i = 1, 10 do
coroutine.yield(i)
end
end
for i in coroutine.wrap(function() meta() end) do
print(i)
end
(注意,返回的第一個版本)給我
~/test% lua t.lua 1 2 3 4 5 6 7 8 9 10
那麼,是什麼角色return
?我認爲meta()
將返回一個值,匿名函數也應該返回它。那麼爲什麼沒有return
的匿名函數也是對的?
謝謝!所以我知道coroutine.resume/yield是「返回」值的其他路徑。 ;) – Grissiom 2011-05-18 02:55:58