Lua Bridge is not just a one-way street, after all, it is a bridge. To read Lua values in C, Lua Bridge provides the LuaRef class. A LuaRef variable can hold any value that a Lua variable can. The getGlobal(lua_State*, const char*) function will return any global Lua variable as a LuaRef value. Consider the following Lua code:
foo = "Hello, world"
bar = 42
debug = function()
print (foo .. " & " .. bar)
end
These variables can be retrieved in C or C++ by using the getGlobal function. A LuaRef object can even be called as a function, if it is assigned to one. The following code demonstrates this:
LuaRef foo = getGlobal(L, "foo");
LuaRef bar = getGlobal(L, "bar");
LuaRef debug = getGlobal(L, "debug");
bar = 57;
debug();
LuaRef variables have a cast<T> member function that will convert a given LuaRef value into whatever...