java - 在java中创建lua接口(interface)

标签 java plugins lua

有没有一种方法可以让我的程序用java编写,但所有插件都基于lua?我如何跨语言执行所有 Hook 等操作,以及如何从 Java 访问函数等?我更愿意在运行时完成此操作,而不是使用交叉编译器提前更改它。

最佳答案

一种替代方案是 LuaJava 。它允许您在Java程序中使用Lua脚本。从字面意义上讲,在 Lua 中实现接口(interface):

LuaJava also allows Java to implement an interface using Lua. This way any interface can be implemented in Lua and passed as parameter to any method, and when called, the equivalent function will be called in Lua, and it's result passed back to Java.

此类实现的示例:

button_cb = {}
function button_cb.actionPerformed(ev) ... end
buttonProxy = luajava.createProxy("java.awt.ActionListener",  button_cb)

当然,您也可以使用熟悉的 C API(适用于 Java)从 Java 调用“普通”Lua 函数。

关于java - 在java中创建lua接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9255095/

相关文章:

java - 从原始 @Transactional 方法调用 @Transactional 方法会导致同一类中出现回滚问题

java - Spring Data JPA - 删除多对多条目

java - 我的 ISP 强制我在发送 tcp 数据之前缓冲它

jquery - 粘性弹出窗口实现

c# - 一个appdomain可以限制在一个目录吗?

mysql - Wordpress:将主题恢复为默认设置

java - GWT-Pratform PlaceManager + Gin 的问题

计算 WCHAR 字符串中的字符数

reflection - 快速确定变量是否为函数的方法?

random - Lua math.random() 总是给出相同的数字?