在我的lua脚本中,有一些变量我想放在' settings.conf'文件,所以我可以轻松地更改变量,而不会深入到代码中。
在其他语言中,他们使用' include',但在Lua中它似乎有所不同,因为它加载module。我只需要为某些参数加载配置文件
我应该使用哪个命令?
答案 0 :(得分:3)
从另一个脚本执行Lua脚本的最简单方法是使用dofile
,它将获取文件的路径:
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Another action</a></li>
</ul>
</li>
</ul>
</div>
</div>
dofile"myconfig.lua"
dofile "/usr/share/myapp/config.lua"
的问题是它可能引发错误并中止调用脚本。如果您想处理错误,例如文件不存在,语法或执行错误,请使用dofile
:
pcall
如果您想要更精细的控制,请使用local ok,e = pcall(dofile,"myconfig.lua")
if not ok then
-- handle error; e has the error message
end
,然后使用函数调用:
loadfile
答案 1 :(得分:0)
您可以这样做:
config.lua:
myconf = {
param1 = "qwe";
param2 = 7;
}
主程序:
package.path = '*.lua;' .. package.path
require "config"
print("config param1 = " .. myconf.param1 .. "\n")
这在大多数情况下效果很好。