В данный момент я интегрирую Lua в свой проект, и на моем пути возникнет небольшая проблема с дизайном.В настоящее время, если я хочу получить информацию из моего хост-приложения в сценарии Lua, я вызываю функцию, которую я зарегистрировал в C, следующим образом:
-- 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?