【发布时间】:2014-08-12 06:59:03
【问题描述】:
似乎在 Lua 中有对数字/布尔值/lightuserdata 的引用这样的事情。但是,在 Lua 中设置指向 C++ 本机类型(例如 float)的全局并在我更改 Lua 中相应的全局时自动更新的最简单方法是什么?
int foo = 2;
//imaginary lua function that does what I want
lua_pushnumberpointer(state,&foo)
lua_setglobal(state,"foo")
-- later, in a lua script
foo = 5;
最后一行应该在 C++ 端自动更新 foo。实现这样的目标最简单的方法是什么?
【问题讨论】:
-
将全局表设置为具有将更改推送到
int foo的newindex元方法和检索对int foo的更改的index元方法。