我正在尝试使用该方法在提到here的文件名后命名lua包,但永远不会定义_REQUIREDNAME
。例如,我有这两个文件
samplePackage.lua:
print("_REQUIREDNAME: ", _REQUIREDNAME)
return nil;
packageTest.lua:
require "samplePackage"
当我运行packageTest.lua时,它会输出> _REQUIREDNAME: nil
我也在Lua 5.1 Refrence手册中找不到_REQUIREDNAME的提及,所以这是从语言中删除了,还是我遗漏了什么?
答案 0 :(得分:11)
软件包和模块的工作方式在Lua 5.1中经历了一些重大变化,使得Lua中的第一版编程在该主题上几乎已经过时。
在5.1中,模块名称作为参数传递给模块require
。您可以使用...
:
print("Module name: ", ...)
Lua中的second edition编程涵盖了Lua 5.1。它不是免费的,但有关包和模块的章节是available as a sample (PDF)。