由于http://luaj.org/luaj/README.html上的“Java 函数库”部分,我知道可以在 Lua 中使用 Java 定义的静态方法。
但是我正在努力找出如何使用相同的示例方法,我在这里有一个简短的示例:
private static class CallbackStore {
public void test(final String test) {
}
}
(我知道我也可以在这里使用静态方法,但在现实生活中这是不可能的)
我正在使用以下 Lua 代码:
-- Always name this function "initCallbacks"
function initCallbacks(callbackStore)
callbackStore.test("test")
end
这不起作用,因为它期望返回用户数据,但我给它一个字符串。
我这样称呼 Lua 代码:
globals.load(new StringReader(codeTextArea.getText()), "interopTest").call();
CallbackStore callbackStore = new CallbackStore();
LuaValue initCallbacks = globals.get("initCallbacks");
initCallbacks.invoke(CoerceJavaToLua.coerce(callbackStore));
Lua 代码由codeTextArea.getText()
我的问题的底线是,如何使我的代码test
作为实例方法运行?