美好的一天lua的表模拟
我有一个特定的任务来给C++ std :: map访问lua脚本。所需的脚本语法是水珠[“标签”] =“值”或水珠(“标签”)=“值”
在研究中,已经尝试luabind结合
std::string & glob(const std::string &tag)
{
static std::string value;
return value;
}
...
luabind::module(&state)
[
def("glob", &glob, luabind::return_reference_to(result))
]
但脚本的运行后下面列出
glob("tag") = "asdasd"
print(glob("tag"))
遇到错误[字符串 “水珠(” 标签 “)= ”asdasd“ ...”]:1:意外的符号附近 '='
所以,我等待着您的建议和意见。
由于
更新 2lhf:全局变量的数据存储,并通过C++部分序列,并具有从LUA被访问。 luaState是每个脚本执行时创建的,并且在执行之间不存在。解决方案之一是在执行脚本之前创建并填充全局变量表,并在执行后将其与地图同步,但是,我认为它足够慢。所以,通过c函数访问提到的语法将不胜感激。
请参阅我的文章中的更新部分 – Orange 2011-05-10 15:58:16