在LUA中如何调用JAVA方法


  本文标签:LUA JAVA 方法

  在LUA中如何调用JAVA方法是本文要介绍的内容,主要是来学习LUA中调用JAVA方法,在使用luajava开源项目中,如何在lua中调用java的方法,如何将java对象作为参数传递到lua的函数中  。下面举例说明:

  我们新建一个loadScript类,代码如下:

  1. public class LoadScript {  
  2. LuaState L;  
  3. LoadScript(final String filename){  
  4. this.L = LuaStateFactory.newLuaState();  
  5. this.L.openLibs();  
  6. this.L.LdoFile(filename);  
  7. }  
  8. void closeScript(){  
  9. this.L.close();  
  10. }  
  11. void runScriptFunction(String functionName,Object obj){  
  12. this.L.getGlobal(functionName);  
  13. this.L.pushJavaObject(obj);  
  14. this.L.call(1,0);  
  15. }  

  下面写一个java对象:

  1. class LoadTest{  
  2. String a;  
  3. LoadScript script;  
  4. public LoadTest(String script){  
  5. this.script = new LoadScript(script+".lua");  
  6. this.script.runScriptFunction("create",this);  
  7. }  
  8. public String getA() {  
  9. return a;  
  10. }  
  11. public void setA(String a) {  
  12. this.a = a;  
  13. }  

  下面是测试代码:

  1. public static void main(String[] args) {  
  2. LoadTest test = new loadTest("function");  
  3. System.out.println(call.test.getA());  

  这样,我们就可以将test对象传递到下面的lua代码中:

  1. function.lua:  
  2. function create(M)  
  3. M:setA("this is a")  
  4. end 

  小结:在LUA中如何调用JAVA方法的内容介绍完了,希望通过本文的学习能对你有所帮助!