Примеры модулей, которые вы предоставляете, закодированы, чтобы ничего не добавлялось в возвращаемую таблицу.
В результате Chapter
является глобальной переменной, которая создается первым модулем, а затем изменяется второй.
Чтобы исправить это, модули должны быть написаны так:
modOne:
local modOne = {
Chapter = {
[1] = {
chapNum = 1,
[1] = "This is the first verse of the modOne",
[2] = "This is the second verse of the modOne",
},
[2] = {
chapNum = 2,
[1] = "This is the third verse of the modOne",
[2] = "This is the fourth verse of the modOne",
}
}
}
return modOne
modTwo:
local modTwo = {
Chapter = {
[1] = {
chapNum = 1,
[1] = "This is the first verse of the modTwo",
[2] = "This is the second verse of the modTwo",
},
[2] = {
chapNum = 2,
[1] = "This is the third verse of the modTwo",
[2] = "This is the fourth verse of the modTwo",
}
}
}
return modTwo
Основной код:
oneModule = require('modOne')
twoModule = require('modTwo')
for i = 1, #oneModule.Chapter do
for j = 1, #oneModule.Chapter[i] do
print(oneModule.Chapter[i][j])
end
end
for i = 1, #twoModule.Chapter do
for j = 1, #twoModule.Chapter[i] do
print(twoModule.Chapter[i][j])
end
end
Вы также можете просто указать modOne.Chapter
, когда определяете Chapter
в модуле и везде, где вы используете его в модуле.