1
루아 자바에서 루아 함수 호출로부터 어떻게 값을 되 찾을 수 있습니까? 다음과 같이 내가 자바에있는 함수를 호출루아 결과 얻기 루아 자바에서 루아 함수 호출로 돌아 가기
function foo(n) return n*2 end
:
내가 calc.lua가 있다고 가정하자
지금은 결과를 얻을 수 LuaState 객체에 전화를해야 할 것LuaState luaState;
this.luaState = LuaStateFactory.newLuaState();
this.luaState.openLibs();
this.luaState.LdoFile("calc.lua");
this.luaState.getGlobal("foo");
this.luaState.pushNumber(5.0);
int retcode=this.luaState.pcall(1, 1,0);
마지막 함수 호출 foo (5)?
호출에서 반환 값을 사용하여 Java-> Lua 호출을 보여주는 예가 있습니까?
루아는 네거티브 인덱스를 사용하여 스택의 맨 위를 가리킬 수도 있습니다. 그래서 본질적으로'double result = luaState.toNumber (-1)'만하면됩니다. 숫자가 아닌 경우 0을 반환하기 때문입니다. –
감사합니다. 난 아직도 LuaState.pcall (..) 실행 문제가있어 기본적으로 반환 값을 pcall (..)의 실행 중 일부 오류 할 일이 아니에요 http://stackoverflow.com/questions/8621471/luajava-error -in-error-handling – Androider
아마도 오류 처리기를 올바르게 설정하지 않았습니까? – Androider