多个文件中的require(s)是创建单独的实例还是只使用一个?

时间:2017-06-14 20:13:13

标签: lua

让我们说在file1中我们有这个:

local fileinstance = require("required_file")

这应该加载文件并创建一个定义为fileinstance的实例。如果在另一个文件file2中,我们做同样的事情:

var serializer = new XmlSerializer(typeof(T), "http://tempuri.org/");
var responseObj = (T)serializer.Deserialize(stringreader);

这会创建一个全新的“required_file”活动实例,还是默认为前一个?我问这个的原因是因为我在“required_file”中有一个我想要设置的变量,并且在需要它的所有其他文件中保持不变,而不将变量重置为默认值

1 个答案:

答案 0 :(得分:2)

除非您modify package.loaded或其他change require's machinery,否则它不会多次加载相同的模块。它只会生成它加载的模块的返回值。