Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中创建lua接口_Java_Plugins_Lua - Fatal编程技术网

在java中创建lua接口

在java中创建lua接口,java,plugins,lua,Java,Plugins,Lua,有没有一种方法可以让我的程序用java编写,但让所有插件都基于lua?如何跨语言执行所有钩子之类的操作,如何从Java访问函数之类的东西?我更希望这是在运行时进行的,而不是让交叉编译器事先对其进行更改。在中,我们使用Metalua对Lua源代码进行解析,这是通过以下方式实现的。您不仅可以从Java调用Lua代码,而且Lua代码还可以操作/实例化Java类 一种选择是。它允许您在Java程序中使用Lua脚本。从字面上讲,在Lua中实现接口: LuaJava还允许Java使用Lua实现接口。这样,任

有没有一种方法可以让我的程序用java编写,但让所有插件都基于lua?如何跨语言执行所有钩子之类的操作,如何从Java访问函数之类的东西?我更希望这是在运行时进行的,而不是让交叉编译器事先对其进行更改。

在中,我们使用Metalua对Lua源代码进行解析,这是通过以下方式实现的。您不仅可以从Java调用Lua代码,而且Lua代码还可以操作/实例化Java类

一种选择是。它允许您在Java程序中使用Lua脚本。从字面上讲,在Lua中实现接口:

LuaJava还允许Java使用Lua实现接口。这样,任何接口都可以在Lua中实现,并作为参数传递给任何方法,当调用时,等价函数将在Lua中调用,并将其结果传递回Java

这种实施的一个例子是:

button_cb = {}
function button_cb.actionPerformed(ev) ... end
buttonProxy = luajava.createProxy("java.awt.ActionListener",  button_cb)
当然,您也可以使用熟悉的C API(适用于Java)从Java调用“普通”Lua函数。

看看LuaJ-。