Module 两个模块相互需要-电晕

Module 两个模块相互需要-电晕,module,lua,coronasdk,require,Module,Lua,Coronasdk,Require,我有“play.lua”和“menu.lua”,而且效果非常好。在“menu.lua”中:本地播放=require('play')。 我制作了一个按钮,将您带回菜单,所以我在“play.lua”中写道:local menu=require('menu'),这显示了错误。当我在游戏中只需要“菜单”时。卢阿,一切都好吗? 那么问题是什么呢? 我不能让两个模块互相要求吗?你可以让两个模块互相要求;如果您尝试加载模块“X”,可能会出现循环或以前的错误错误。当a调用b,调用a时,情况与递归函数相同:递归需

我有“play.lua”和“menu.lua”,而且效果非常好。在“menu.lua”中:本地播放=require('play')。 我制作了一个按钮,将您带回菜单,所以我在“play.lua”中写道:local menu=require('menu'),这显示了错误。当我在游戏中只需要“菜单”时。卢阿,一切都好吗? 那么问题是什么呢?
我不能让两个模块互相要求吗?

你可以让两个模块互相要求;如果您尝试加载模块“X”,可能会出现
循环或以前的错误
错误。当
a
调用
b
,调用
a
时,情况与递归函数相同:递归需要一些停止条件,否则将无限期地继续。Lua的作者实现了一个检查来检测
require
的这种情况,并生成您看到的错误

您需要重新构造代码以避免这种情况。例如,您可以将共享代码从
play
提取到
core
中,而不是从
菜单
中要求
play
,而是从两者中要求
core
,这将消除问题