Можно создать модуль Lua, который возвращает несколько результатов через функцию require? В настоящее время я пишу расширение для package.loaders, и я хочу знать, нужно ли мне поддерживать такое поведение.
Например, возьмите следующий модуль с именем mod.lua
:
print("module loading")
return "string1", "string2"
Требуется следующее script:
print("running script")
s1, s2 = require("mod")
print("s1: " .. tostring(s1))
print("s2: " .. tostring(s2))
Результаты в следующем выпуске:
running script
module loading
s1: string1
s2: nil
Когда я ожидаю, что вторая строка будет возвращена. Я не собираюсь использовать такое поведение, и я понимаю, что вы можете реплицировать его, возвращая таблицу и распаковывая ее, я просто хочу знать, если она предназначена для работы (как ее синтаксис Lua), и я не могу найти окончательный ответ на это где угодно.