问题标签 [luaj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
304 浏览

java - LuaJ 中 lua 模块和基于元表的类的组合

我正在遵循 本教程中简单 lua 类的示例,但尝试将类定义存储在单独的文件中并作为模块加载

我创建了一个名为 List 的简单类,我可以创建一个列表,并填写以下代码(List.lua):

要使用它,我只需要输入

到目前为止,一切都很好。

问题

现在我要将 List 移动到 LuaJ 中的一个包中,这样我就可以在 Java 中执行 List 实现。

我可以用同样的方式创建列表,但是我现在找不到在对象 a 上调​​用填充的方法,例如a:fill(0)不起作用。表明

我能做到List.fill(a, 0)。这是 LuaJ 的限制,还是有其他方法可以a:fill(0)工作?

0 投票
0 回答
212 浏览

java - 如何将`.jar`文件导入lua代码并创建java实例?

这里是 ex如何调用 java obj 的新实例mylib.jar,但没有解释如何导入

例如。我有mylib.jar,有课com.example.MyClass

我想创建java类实例并调用这个方法

如何将.jar文件导入lua代码,并从中创建实例MyClass并调用方法?

0 投票
1 回答
152 浏览

luaj - 如何在 Luaj 中获取“android.provider.ContactsContract.Contacts”字段

我使用 Lua Interpreter 为我的 iGO 导航器获取信息,我需要从 android.provider.ContactsContract.Contacts 获取一些字段

我成功了

我尝试获取联系人

或者

没有成功

基本上我需要在那里得到结果

0 投票
1 回答
491 浏览

java - LuaJ(Java Lua 库):从 Lua 文件调用其他文件中的 Lua 函数

首先,我知道这个问题,但我认为它不太适合我正在做的事情。无论哪种方式,答案都使我的观点有些混乱。我想为我的问题找到一个更具体到我正在做的事情的答案。

这里的目标是让 lua 文件chatterToolsTest成功将“测试成功”打印到控制台。不幸的是,我目前的方法不太奏效。有人可以帮忙吗?我在 Lua 方面不是最擅长的,所以在这种情况下,我的 Lua 代码可能是错误的。请查看下面的片段。

另一个限制:我无法使用 java 端的模块。两个 Lua 文件之间的任何引用都只能通过 Lua 获得。这是因为我正在为 Java 项目开发一个修改系统,并且需要 Lua 能够在 Java 端进行最小的更改。

请记住,我没有将 Lua 文件存储在 JAR 文件或任何包中,它们包含在 Java 程序的根工作目录中的文件夹中,就像资源文件夹一样。

chatterToolsTest.lua

chatterTools.lua,由 调用的类chatterToolsTest.lua

这两个文件都在一个名为的文件夹中world/NOKORIWARE/lua/

最后,这是使用 LuaJ 调用它们的 Java 测试类:

这是我运行 Java 程序时打印的错误:

感谢任何帮助或相关资源的链接。

0 投票
1 回答
121 浏览

java - 在java中执行lua脚本

我试图在 android studio 中执行一个 lua 脚本,为此我使用了来自http://www.luaj.org/luaj/3.0/README.html的 Luaj 库?.

我用这个我的lua文件在资产中我只是把print(“hello”)放在我的lua文件中,所以我应该在我的文本视图中得到你好,但我总是在我的文本视图中得到“nil”有什么解决方案吗?

0 投票
0 回答
121 浏览

lua - luaj 可以将脚本转换为 lua 5.2 的二进制表示

我正在尝试使用 string.dump 将脚本转换为二进制表示,但我看到 luaj 3.0.1 表示与 lua 5.2 不同,有一些方法可以改变这一点,或者将 luaj 3.0.1 表示转换为 lua 5.2?

代码

十六进制输出

0 投票
1 回答
163 浏览

java - LuaJ 在强制 Java 对象中迭代对象数组

我正在使用 LuaJ 3.0.1,并且在遍历我的 Lua 脚本中强制 Java 对象中包含的数组时遇到问题。目前,这就是我正在做的事情:

我有一个包含对象数组的 Java 类。就像是

我有一个LuaFunction将 Foo 作为其参数之一。我调用这个函数,传递一个 Foo 的实例,如下所示:

但是,问题出现在 Lua 脚本本身,我需要遍历 Bar 数组。我尝试使用以下代码,但这会产生一个 org.luaj.vm2.LuaError,并在包含该ipairs函数的行上显示消息“bad argument: table expected, got userdata”。

当 Foo 对象被强制转换为 Lua 时,Bar 数组似乎没有变成表格,而是变成了一种userdata类型。因此,它不能传递给ipairs函数。

有什么办法可以让Bar数组在 Lua 中被视为表?或者,除此之外还有什么ipairs更适合循环遍历数组的选项吗?

0 投票
1 回答
103 浏览

java - 如何从java中的lua脚本中获取本地人

我有这个lua脚本:

在java中我有:

如何访问 lua 脚本中表中的值?

0 投票
0 回答
63 浏览

lua - 将 LuaTable 写入文件

我正在尝试用 LUAJ 编写一个表,我想将它导出到一个文件中。可能吗?

输出文件应包含如下内容:

我找不到将 parentTable 的内容导出到文件的任何选项。

谢谢。

0 投票
0 回答
59 浏览

java - LuaJ中newInstance时如何覆盖java对象的方法

我在Java中有一个Person类:

我在LuaJ中创建了一个Person实例:

但我想覆盖talk方法,我该如何在LuaJ中做到这一点?

Java中是:

感谢帮助