【发布时间】:2013-10-31 11:04:54
【问题描述】:
在我的 Lua 脚本中,我有多个使用相同“结构”的库。例如,我有一个包含require('b') 和require('c') 的.lua。 b.lua 和 c.lua 都有 info 函数。 b.lua 让它打印“b”,c.lua 让它打印“c”。在 a.lua 中,我想使用来自 B.lua 或 C.lua 的 info() 启动一个协程。
这是我的 b.lua:
b = {}
function b.info()
coroutine.yield()
print("b")
print("b2")
end
C.lua 具有类似的结构,但大多数 B 被 C 替换。当尝试使用 local co = coroutine.create(b.info()) 启动协程时(这也很奇怪,因为它通常开始暂停)我收到一个错误,例如“尝试让步元方法/C 调用边界”。
【问题讨论】:
标签: lua require coroutine meta-method