您可以不再将require分配给变量并引用该变量吗

时间:2019-05-24 14:08:22

标签: lua

我使用lua5.1,对要求的工作方式有点困惑 我已经看到代码要求分配给变量并使用它

RelativeSource

1 个答案:

答案 0 :(得分:2)

  

-输出布尔值

这在很大程度上是不正确的。 require返回它加载的Lua模块的返回值。如果该模块未返回值,则它将返回true。如果无法加载该模块,则它将返回false,然后返回错误消息。

Lua模块被期望 返回一个包含该模块内部内容的表。这就是模块惯用法的预期工作方式,并且大多数模块都可以这样做。因此,local varname = require "modulename"惯用语通常是访问模块的方式。

较旧的模块Lua习惯用法(主要通过module函数在Lua 5.0中使用)使模块仅将其所有功能转储到全局表或全局表中的子表中。由于明显的原因,这在很大程度上已被放弃。现在希望模块尊重全局表,而不必管它。

请注意此处使用local。您也不应该弄脏全局表。