推荐的方法是在Lua 5.2中以递归方式引用2个模块
发布时间:2020-12-15 00:26:46 所属栏目:大数据 来源:网络整理
导读:有办法吗? 两个Lua模块(我们称之为A和B) 每个模块使用另一个模块的功能,因此它们必须相互要求 第三个模块(我们称之为C)可以使用A而不是B,例如 C.lua: local A = require 'A'-- ...A.foo() 可能有另一个模块D需要B而不是A和/或E需要A和B. A和B以及它们的成
有办法吗?
>两个Lua模块(我们称之为A和B) C.lua: local A = require 'A' -- ... A.foo() >可能有另一个模块D需要B而不是A和/或E需要A和B. 相关:Lua – how do I use one lib from another?(注意:此解决方案不处理循环依赖关系.) 解决方法
我找到了一个很简单的方法:
A.lua: local A = {} local B function A.foo() B = B or require 'B' return B.bar() end function A.baz() return 42 end return A B.lua: local B = {} local A function B.bar() A = A or require 'A' return A.baz() end return B (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |