我正在使用 Lua 作为我的项目的配置格式。假设我有以下人为的示例,我们将调用conf.lua
:
title = "Lorem Ipsum"
author = "John Doe"
date = "01 January 2000"
现在,很简单,我当然可以像这样加载这个文件:
dofile("conf.lua")
但是,问题在于这些定义是在全局命名空间中设置的,这是我不想要的。此外,它使访问不同的变量作为一个整体变得困难(例如循环配置变量集)。一种解决方案是像这样重写conf.lua
:
local conf = {
title = "Lorem Ipsum",
author = "John Doe",
date = "01 January 2000"
}
return conf
反过来,加载conf.lua
以下代码:
local configuration = dofile("conf.lua")
但是,由于我认为显而易见的原因,这并不理想。它要求我的用户跟踪逗号,必须写local
,必须记住在最后返回表格。如果有某种方法可以conf.lua
使用某种自定义范围执行,那将是一件好事。