关闭Lua的状态和重新打开(Close Lua State and Reopen)

2019-10-22 22:00发布

我在android系统中使用Lua,但还不是很清楚,如果我可以这样做:

LuaState L = null;

function loaddata(String data)
{
 if ( L !=null && L.isClosed() == false) 
    L.close();

 L = LuaStateFactory.newLuaState();
 L.openLibs();
 L.LdoString(data);
}

loaddata(string_1)  ;
//and later 
loaddata(string_2);

我要清除的L和与另一个数据,使用string_2 。 请问我的功能L.LdoString(data); 具有对应于新的数据string_2 ? 还是会string_1加上string_2L

Answer 1:

在你的代码,当你调用L.close()你是关闭现有的LUA状态。

然后,使用LuaStateFactory.newLuaState()创建一个新的(干净)LUA状态。

从以前的调用该函数什么都不会在新的状态退出。

(我假设的功能在这里工作,因为他们似乎和相似的名称函数的C API函数)。



文章来源: Close Lua State and Reopen
标签: android lua