テーブルをコピーする
実験。
#include "lua.h" #include "lauxlib.h" #include "lualib.h" int main(void) { lua_State * L1 = lua_open(); lua_State * L2 = lua_open(); luaopen_base(L1); luaopen_base(L2); luaopen_math(L1); lua_pushstring(L1, "math"); lua_gettable(L1, LUA_GLOBALSINDEX); lua_pushstring(L2, "math"); lua_xmove(L1, L2, 1); lua_settable(L2, LUA_GLOBALSINDEX); lua_dostring(L1, "print(math)"); lua_dostring(L1, "print(math.cos)"); lua_dostring(L2, "print(math)"); lua_dostring(L2, "print(math.cos)"); return 0; }
結果。
table: 004230C0 function: 00423040 table: 004230C0 nil