如何使用Lua语言从磁盘加载Lua表?

时间:2016-01-22 19:05:06

标签: parsing datatable scripting lua lua-table

我在磁盘上有一个纯文本lua表。它看起来像这样:

rootTable = {

     name="myTable",

     settings = {
         setting1="some stuff",
         setting2="some more stuff"
     },
     parameters = {
          { name="paramName",  values={x=1.0,y=1.0,z=0.0,w=0.0} },
          { name="paramName2", values={x=0.0,y=3.0,z=1.0,w=0.0} }
     }
}

我试图使用以下代码在lua(在c ++中)打开此表:

const char *filename = "path/file.txt"

lua_State *state = luaL_newstate();
luaL_openlibs(state);
int error = luaL_loadfile(state, filename);
if (error == 0) {
    error = lua_pcall(_state, 0, 0, 0);
}
if(error != 0)
{
    std::string errorMessage = lua_tostring(_state, -1);
    fprintf(stderr, "%s\n", _errorMessage.c_str());
}

但是,每当我尝试运行此命令时,都会收到以下错误消息:

附近的意外符号' {'

我不知道这意味着什么或我如何解决它。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:2)

在Lua 5.1,5.2或5.3中使用load / loadstring / loadfile加载该表时没有任何失败(并且没有看到任何错误) 。您可能正在加载与您正在显示的文件不同的文件。