如何在Lua中包含变量的配置文件

时间:2015-09-21 11:41:54

标签: lua

在我的lua脚本中,有一些变量我想放在' settings.conf'文件,所以我可以轻松地更改变量,而不会深入到代码中。
在其他语言中,他们使用' include',但在Lua中它似乎有所不同,因为它加载module。我只需要为某些参数加载配置文件 我应该使用哪个命令?

2 个答案:

答案 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")

这在大多数情况下效果很好。