【发布时间】:2013-07-27 20:54:42
【问题描述】:
我正在开发一个用 C++ 编写的项目,该项目使用 Lua 作为脚本语言。 为了方便调试,我们实现了一个网络调试器,它接收 Lua 代码,运行它,在 Json 中编码返回值并将该字符串发回。
我设法为表实现了这一点,但现在我被存储在用户数据中的变量卡住了。 例如。我有这个 Lua 代码:
Elements.Avatar.testVar = 5
Elements.testVar = 15
return Elements
// result
{
"result0": "{Application:userdata; Avatar:userdata; Physics:userdata; testVar:15; }"
}
Application、Avatar 和 Physics 是在 C++ 中创建的对象。然而,这两个 testVars 已在上面的脚本中创建。
Elements 是一个表格,所以我可以列出所有元素,但 Avatar.testVar 似乎被隐藏了,因为 Avatar 是 LUA_TUSERDATA。
有人知道如何检测已添加到 Lua 中用户数据的变量吗?
【问题讨论】:
标签: c lua lua-userdata