我正在将Lua整合到我的项目中,而且我正在面对一个小型设计问题。目前,如果我想从我的主机应用到Lua脚本获取信息,我认为那是我用C注册的功能,以这种方式:Lua&隐式全局状态
-- Inside lua
local state = host.get_state()
-- Do something with "state"
现在用的问题是:国家可以明显变化,那么“状态”变量就会过时并且很可能无效。到目前为止,我与此生活在一起,因为全球状态并不经常需要。这是在以下情况下更多的问题:
local user = host.get_user('id')
host.set_user_flags(user, 'abc')
-- internally "user" is now updated, but to get the accurate information in Lua, I
-- will have to explicitly redo "user = host.get_user('id')" for every operation
-- that accesses this table
我读了一些关于引用,我认为他们可以帮助我,但我并没有真正了解它。
是不是有一些方法可以像C一样在指针中抛出指针?
功能在C中定义,只是注册到Lua中,我需要一个lua C API的方法来做到这一点 – LukeN 2011-03-02 11:35:25
所以,看在Lua参考手册lua_setlocal和lua_getlocal C函数。 – Archinamon 2011-03-02 11:49:24