c++/Lua - 将多个 Lua 文件名自动加载到 c++ 字符串中

我想从一个字典中(例如 "Data/lua_files")加载多个文件名到C ++字符串中,而不需要手动添加它们。例如,每当我添加一个新文件,我应该能够在启动程序时使用它,而无需添加任何代码。目前我使用 Sol2.0。

我能够将所有文件名保存到新的 .txt 文件中吗?(使用 Lua 脚本?) 有没有实现这一点的方法?

我查看了谷歌,但没有找到任何内容

谢谢!

点赞
用户752976
用户752976

如果你指的是 Lua 表,那么可以这样:

fileNames = {
    "file1.txt",
    "file2.txt",
    "file3.txt"
}

使用 table.concat(fileNames, ",") 即可生成一个字符串,你可以将其保存到全局变量中:

fileNamesString = table.concat(fileNames, ",")

然后在 C++ 中使用 Sol 读取它。不过我不确定是否需要这一步骤,因为我认为该库支持直接访问表。如果是这样的话,代码应该如下:

sol::lua_state lua;
// 在此处读取你的脚本文件

for (std::string const& fileName : lua["fileNames"]) {
    // 进行操作
}
2017-04-20 07:33:51