0
我已經從luaj網站做了一個複雜的例子.. LuaJ 我想在當前對象上運行一個函數目前正在使用。但是luaJ正在創造一個新的對象。LuaJ如何在調用對象上運行函數(LuaJ正在創建新對象如何避免它)
我怎樣才能在當前對象上運行的功能,不做一個新的。
cosidering下面的代碼...
import org.luaj.vm2.Globals;
import org.luaj.vm2.LuaValue;
import org.luaj.vm2.lib.TwoArgFunction;
import org.luaj.vm2.lib.ZeroArgFunction;
import org.luaj.vm2.lib.jse.JsePlatform;
public class luaTest extends TwoArgFunction {
public luaTest() {}
changeInt mytest=new changeInt();
public LuaValue call(LuaValue modname, LuaValue env) {
LuaValue library = tableOf();
library.set("countup", new countup(mytest));
env.set("luaTest", library);
return library;
}
void run() {
Globals globals = JsePlatform.standardGlobals();
mytest.setA(10); // Setting it 10 before calling the script
LuaValue chunk = globals.loadfile("script.lua");
chunk.call();
}
class countup extends ZeroArgFunction {
changeInt mytest;
public countup(changeInt a)
{
mytest=a;
}
public LuaValue call() {
return LuaValue.valueOf(mytest.countup());
}
}
}
的changeInt類是簡單的一個變量...
public class changeInt {
int a = 1;
public int countup(){
return a++;
}
public void setA(int x)
{
a=x;
}
}
luaScript很簡單..
require 'luaTest'
print('count',luaTest.countup())
print('count',luaTest.countup())
print('count',luaTest.countup())
有什麼繞過它..
是什麼「這是目前正在使用的當前對象」呢? – immibis
我稱之爲lua腳本的對象...(luaTest) 我在調用腳本之前設置了該對象的成員「a」的值。 我想要打印相同的變量.... – BravoAlphaRomeo