Lua,Require,可用的函数。

如果我在 Lua 脚本中使用 require 导入了三个包含文件,那么其中任何一个文件中的任何函数都能看到(并且最重要的是调用)任何其他函数吗?

我遇到了一个函数调用其他函数的问题。我试着把不同的函数放到其他文件中,然后使用 include 导入,而不是将它们写入主文件中。

我认为它起作用了,尽管我进行的测试还不是十分有力。

我的主代码如下...

 require "SOME_REQUIRED_FILE_01"
 require "SOME_REQUIRED_FILE_02"
 require "SOME_REQUIRED_FILE_03"

 XYZ = 0

 File_02_Function_A()

我看了Lua 网站,并找到了这个页面,但我还不是完全明白。

能在所有三个要求的文件中看到每个其他函数的每个函数吗?

点赞
用户2198692
用户2198692

require 基本上和 dofile 是一样的,除了一些避免多次加载相同文件的机制(还有类似加载器的一些有用的功能)。这意味着,它们也可以设置全局变量(虽然不应该这样做)。所以,如果在其中一个被 require 的文件中设置了一个全局变量,那么这个全局变量可以在整个 require 函数的范围内被看到。这也意味着在其他被 require 的文件中也可以看到。

话虽如此,将全局变量设置在 required 文件中并不是最佳实践。更好的做法是返回一个包含模块内导出的函数和变量的表。然后你可以像这样调用这些函数:

local some_required_file_01 = require "SOME_REQUIRED_FILE_01"
local some_result_01 = some_required_file_01.some_function_01()
2014-04-25 19:05:29