Создание интерфейса lua в Java - PullRequest
2 голосов
/ 13 февраля 2012

Есть ли способ, которым я могу сделать свою программу на Java, но сделать все плагины основанными на lua?Как я могу сделать все хуки и тому подобное на разных языках и могу ли я получить доступ к функциям и тому подобное из Java?Я бы предпочел, чтобы это было сделано во время выполнения, а не кросс-компилятор, который изменяет его заранее.

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

Одна альтернатива - LuaJava .Это позволяет использовать сценарии Lua в программе Java.Если говорить буквально о реализации интерфейсов в Lua:

LuaJava также позволяет Java реализовывать интерфейс с использованием Lua.Таким образом, любой интерфейс может быть реализован в Lua и передан в качестве параметра любому методу, а при вызове эквивалентная функция будет вызвана в Lua, а ее результат передан обратно в Java.

Примертакая реализация:

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

Конечно, вы также можете вызывать «нормальные» функции Lua из Java, используя знакомый C API (адаптированный к Java).

1 голос
/ 14 февраля 2012

В Lua Development Tools мы выполняем разбор исходного кода Lua с помощью Metalua, и это возможно благодаря JNLua .Вы можете не только вызывать код Lua из Java, но и код Lua может также манипулировать / создавать экземпляры классов Java!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...