2017-06-14 40 views
1

比方說,在文件1,我們有這樣的:需要在多個文件中創建單獨的實例還是隻使用一個?

local fileinstance = require("required_file") 

這應該加載該文件,並創建它的定義爲fileinstance一個實例。如果在另一個文件中,文件2,我們做同樣的事情:

local fileinstance = require("required_file") 

這會給「required_file」的全新活動實例或將默認爲前一個?我問這個的原因是因爲我在「required_file」中有一個變量,我想要設置,並且在所有其他需要它的文件中保持不變,而不將變量重置爲默認值

+0

'require'會記住第一個結果,在第二個調用中不會創建新的實例。 –

+0

完美!那是我今天需要的那種消息。再次感謝 – Varscott11

回答

2

除非您使用modify package.loaded或其他change require's machinery,它將不會多次加載相同的模塊。它將簡單地生成它加載的模塊的返回值。

+0

你的第二個鏈接缺失(我不確定你想鏈接什麼,否則我會編輯它。) – nobody

+0

@nobody:修正。 –

相關問題