我该如何在Java中嵌入Lua?

55

这是否必须使用LuaJava?还是我可以在不使用它的情况下将Lua嵌入到Java中?


4
你是不是希望使用纯Java实现的Lua(而不是使用本地代码的LuaJava)?或者你只是在寻找任何可替代的实现方式? - ZoogieZork
1
一个纯Java实现的LUA根本不存在,而且可能永远也不会存在。这是一个“C”项目,将所有的C代码移植到Java代码中将是一项巨大的工程,我怀疑LUA的作者们并没有看到太多的好处。 - deltamind106
@deltamind106 实际上,大部分工作已经完成了,大约10年前我将整个Lua 5.1.4包移植到了C#(是的,这是一项巨大的工程)。从那个版本移植到Java应该会容易得多。 - Mark Feldman
4个回答

30

LuaJ 很容易嵌入到 Java 中。但是,为了使它能按照我的预期工作(它没有自动引用 IO 库),我不得不修改它们源代码中的几行内容。

http://sourceforge.net/projects/luaj/


我在使用IntelliJ中的Kahlua时遇到了类似的问题。我对Lua还很陌生,每当我调用"io.read()"时都会出现一个错误:"attempted index of non-table"。我尝试过require "io",但没有起作用。能帮忙吗? - Cliff
有人比较过luaj和luajava的实现吗? - swcai

12

Kahlua现在位于github,但自2013年以来没有更新。Mochalua似乎从未迁移到Google Code之外,现已存档;在github上有4个版本,但自2015年以来没有任何更改,并且所有版本都只有2008-12-08 Google Code版本的原始7次提交。 - Pixelstix

2

2
在这种情况下,我被困在Lua中,否则我会选择Jython作为一个Python迷。 - anon
1
嵌入Jython非常简单,如果有帮助的话 :P - gpampara

2
Lua是一个C库,你可以将它嵌入Java中,但你需要使用一些C代码来与Java虚拟机和Lua进行接口。LuaJava的作者已经完成了这项工作 - 你最好使用LuaJava而不是编写自己的代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接