LUA 从另一个文件获取变量的选项(全局变量与模块)
LUA options to fetch variables from another file (Global variables vs Modules)
请帮助理解选项 1 和 2 在最佳实践方面的差异。
我只需要访问 b.lua
中文件 a.lua 中的变量
我有两个文件 a.lua 和 b.lua:
选项 1:(我正在从 b.lua 中的 a.lua 访问一个全局变量)(这是可行的)
a.lua
name = "hello world"
b.lua
require("a")
print(name)
选项 2:(这也可以正常工作)
a.lua
local config = {}
config.name = "hello world"
return config
b.lua
local config = require("a")
print(config.name)
在上面的两个选项中,我都可以从 b.lua 中的 a.lua 获取变量名。
请帮助了解哪个选项更好。
感谢您对此的帮助。
此致...
选项 2 不写入全局环境,如果您正在编写供其他人使用的库,这是一件好事。
如果您只是为自己写一些东西,两种选择都不错。
不过,如果您对配置文件使用选项 1,那么选项 2 很有用,即使在这种情况下也是如此,因为通过遍历一个小 table 比遍历整个全球环境(当然也是table)。
请帮助理解选项 1 和 2 在最佳实践方面的差异。
我只需要访问 b.lua
中文件 a.lua 中的变量我有两个文件 a.lua 和 b.lua:
选项 1:(我正在从 b.lua 中的 a.lua 访问一个全局变量)(这是可行的)
a.lua
name = "hello world"
b.lua
require("a")
print(name)
选项 2:(这也可以正常工作)
a.lua
local config = {}
config.name = "hello world"
return config
b.lua
local config = require("a")
print(config.name)
在上面的两个选项中,我都可以从 b.lua 中的 a.lua 获取变量名。 请帮助了解哪个选项更好。
感谢您对此的帮助。
此致...
选项 2 不写入全局环境,如果您正在编写供其他人使用的库,这是一件好事。
如果您只是为自己写一些东西,两种选择都不错。
不过,如果您对配置文件使用选项 1,那么选项 2 很有用,即使在这种情况下也是如此,因为通过遍历一个小 table 比遍历整个全球环境(当然也是table)。