如果我require在 Lua 脚本中包含三个文件,那么这些文件中的任何一个中的任何函数都可以看到(最重要的是,调用)任何其他函数吗?
我遇到了函数调用函数调用其他函数的问题。我尝试将各种功能放在其他文件中,然后include将它们放入主文件中,而不是将它们写入主文件中。
我认为这是有效的,我的测试即使没有定论也是令人信服的。
我的主线代码是这样做的...
require "SOME_REQUIRED_FILE_01"
require "SOME_REQUIRED_FILE_02"
require "SOME_REQUIRED_FILE_03"
XYZ = 0
File_02_Function_A()
Run Code Online (Sandbox Code Playgroud)
可以EVERY在功能上的所有三个 必需的文件看每隔在所有这三个文件的功能?
require基本上与 相同dofile,除了避免多次加载同一个文件的机制(以及一些其他有用的东西,如加载器)。这意味着,他们也可以设置全局变量(尽管他们不应该)。因此,如果在所需文件之一中设置全局变量,则可以在 require 函数的整个范围内看到全局变量。这也意味着在其他必需的文件中。
话虽如此,在required文件中设置全局变量并不是最佳实践。最好返回一个包含模块内部导出的函数和变量的表。然后你会像这样调用这些函数:
local some_required_file_01 = require "SOME_REQUIRED_FILE_01"
local some_result_01 = some_required_file_01.some_function_01()
Run Code Online (Sandbox Code Playgroud)