_REQUIREDNAME 始终为零。

我正在尝试使用在这里提到的Lua软件包命名方法,但是_REQUIREDNAME从未被定义。例如我有这两个文件:

samplePackage.lua:

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

packageTest.lua:

require "samplePackage"

当我运行packageTest.lua时,它输出> _REQUIREDNAME: nil

我在Lua 5.1参考手册中也找不到_REQUIREDNAME的任何提及,这个在语言中被移除了吗,还是我漏掉了什么?

原文链接 https://stackoverflow.com/questions/2869829

点赞
stackoverflow用户189205
stackoverflow用户189205

在Lua 5.1中,包和模块的工作方式发生了一些重大变化,使得《Lua编程》第一版在这方面大多已经过时。

在5.1中,模块名作为参数传递给require函数。您可以使用...访问它:

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

《Lua编程》第二版涵盖了Lua 5.1。它不是免费的,但是有关包和模块的章节可以作为样例(PDF)获取。

2010-05-19 22:32:40