Я пытаюсь использовать метод для именования lua пакета после того, как имя файла упомянуло здесь, однако _REQUIREDNAME
никогда не определяется. Например, у меня есть эти два файла
samplePackage.lua:
print("_REQUIREDNAME: ", _REQUIREDNAME)
return nil;
packageTest.lua:
require "samplePackage"
И когда я выполняю packageTest.lua, он производит > _REQUIREDNAME: nil
Я также не мог найти упоминание о _REQUIREDNAME в руководстве Lua 5.1 Refrence, таким образом, это было удалено из языка, или я пропускаю что-то?
Способ работы пакетов и модулей претерпел некоторые серьезные изменения в Lua 5.1, в результате чего первая редакция «Программирование на Lua» в основном устарела в этом отношении.
В версии 5.1 имя модуля передается в качестве аргумента модулю с помощью require
. Вы можете получить к нему доступ с помощью ...
:
print("Module name: ", ...)
второе издание программирования на Lua охватывает Lua 5.1. Это не бесплатно, но глава о пакетах и модулях доступна в качестве образца (PDF) .