【问题标题】:How to load Lua Table from disk using Lua language?如何使用 Lua 语言从磁盘加载 Lua 表?
【发布时间】:2016-04-29 11:43:36
【问题描述】:

我在磁盘上有一个纯文本 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());
}

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

'{'

附近出现意外符号

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

【问题讨论】:

    标签: parsing datatable scripting lua lua-table


    【解决方案1】:

    在 Lua 5.1、5.2 或 5.3 中使用 load/loadstring/loadfile 加载该表时我没有遇到任何失败(并且没有发现任何问题)。您加载的文件可能与您正在显示的文件不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-11
      • 2014-10-22
      • 1970-01-01
      • 1970-01-01
      • 2022-06-16
      • 1970-01-01
      • 2017-01-20
      • 2011-02-25
      相关资源
      最近更新 更多