在我的 Lua 脚本中,我有多个使用相同“结构”的库。例如,我有一个包含require('b')
和.lua 的内容require('c')
。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 调用边界”。