美好的一天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