_REQUIREDNAME всегда ноль

Я пытаюсь использовать метод для именования lua пакета после того, как имя файла упомянуло здесь, однако _REQUIREDNAME никогда не определяется. Например, у меня есть эти два файла

samplePackage.lua:

print("_REQUIREDNAME: ", _REQUIREDNAME)
return nil;

packageTest.lua:

require "samplePackage"

И когда я выполняю packageTest.lua, он производит > _REQUIREDNAME: nil

Я также не мог найти упоминание о _REQUIREDNAME в руководстве Lua 5.1 Refrence, таким образом, это было удалено из языка, или я пропускаю что-то?

7
задан David Brown 19 May 2010 в 22:13
поделиться

1 ответ

Способ работы пакетов и модулей претерпел некоторые серьезные изменения в Lua 5.1, в результате чего первая редакция «Программирование на Lua» в основном устарела в этом отношении.

В версии 5.1 имя модуля передается в качестве аргумента модулю с помощью require . Вы можете получить к нему доступ с помощью ... :

print("Module name: ", ...)

второе издание программирования на Lua охватывает Lua 5.1. Это не бесплатно, но глава о пакетах и ​​модулях доступна в качестве образца (PDF) .

12
ответ дан 6 December 2019 в 21:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: