如何使用 sol2 编写包含 lua 表的文件
How can I write a file with containing a lua table using sol2
在看到这样的帖子并喜欢它的语法后,我决定使用 lua 作为我的程序的配置管理,sol2 最近发布了,所以我正在使用它。
所以我的问题是,我怎样才能抓取 lua 状态中的所有变量并将它们吐出到文件中?
说
sol::state lua;
lua["foo"]["bar"] = 2;
lua["foo"]["foobar"] = lua.create_table();
反过来,最终会吐出来
foo = {
bar = 2
foobar = {}
}
这是否可能,如果是,如何?
我用这个序列化器来序列化我的表并打印出来,真的很容易!
这就是我想出的
std::string save_table(const std::string& table_name, sol::state& lua)
{
auto table = lua["serpent"];
if (!table.valid()) {
throw std::runtime_error("Serpent not loaded!");
}
if (!lua[table_name].valid()) {
throw std::runtime_error(table_name + " doesn't exist!");
}
std::stringstream out;
out << table_name << " = ";
sol::function block = table["block"];
std::string cont = block(lua[table_name]);
out << cont;
return std::move(out.str());
}
相关文章:
- .cpp和.h文件中的模板专用化声明
- 是否可以使用另一个lua文件中定义的表,该表在当前文件中不需要作为模块
- 如何在SWIG接口文件中检查Lua版本
- C++-在没有自定义.lib文件的情况下从Lua C模块调用Lua函数
- SOL2/C++ - Lua初学者,是否可以在Lua文件之间传递Lua表
- 组合 Lua 二进制文件
- Qt with Lua |放置 lua 文件的位置
- 加载 Lua 文件并使用变量而不执行函数
- 如何使用 sol2 编写包含 lua 表的文件
- 如何使用 C++ 分发 Lua 文件
- 可以在Lua中加载C++dll文件吗
- 如何使用LuaBridge从文件加载表?[Lua来自C++]
- C++ 加密和解密Lua文件
- C++映射到 lua 文件的 lua 表
- 将项目文件夹(lua)嵌入到exe中
- 如何使用 gdb 从核心文件中获取 lua 堆栈跟踪
- 如何从lua文件到c++获取字符串
- 为什么C++看不到我的 lua 脚本文件?
- 如何创建和调用lua函数,即在多个文件中,从c++
- Lua-loadfile()在同一目录中找不到文件