这几天一直 在搞新游戏框架的一个bug,发现不同地方require的同一个table,居然地址不一样,最后经过各种排除问题,发现我们混用了如下的编程格式:
require("utility.GlobalFunction")
require("utility/GlobalFunction")
这样如果在GlobalFunction返回table,会造成不是同一个table。
个人觉得原因是:
require的时候 lua 区别了 "utility.GlobalFunction" 和 "utility/GlobalFunction"执行了两次,而不是普通的required 只执行一次。
本文探讨了一个在Lua编程中使用require加载模块时遇到的问题,即使用不同的路径格式导致加载的同一模块被视为不同实例的情况。作者通过实际案例分析了问题的原因,并提出了避免此问题的方法。
2645

被折叠的 条评论
为什么被折叠?



