问题标签 [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 回答
4576 浏览

java - 如何将对象传递给暴露的 luaj 函数?

我正在尝试使用 Luaj + java 构建一个控制器。我有以下java类

以及控制器的以下 lua 脚本:

理想情况下,我想定义一个控制器(用 lua 编写),我将在其中保留所有程序的逻辑,并且我想将该控制器的 API 公开给我的 java 代码。我试图使用以下方法:

我无法将对象传递给 LuaValue。如何将 java 对象传递给 lua 脚本?

PS:一般来说,当使用 Java 和嵌入式脚本时,人们是把函数捆绑在一个脚本中,还是每个回调都有一个单独的脚本?

0 投票
1 回答
2191 浏览

java - 如何向 _G 添加使用 Luaj 运行 java 代码的函数?

我想向_G可以运行 Java 代码的函数添加函数。我正在使用 Luaj,它已经可以运行用户编写的 Lua 代码,但我想添加允许用户与游戏世界交互的 api。

0 投票
1 回答
1380 浏览

java - Android & LuaJ 3.0 绑定

我正在使用 LuaJ 3.0 编写 Android 应用程序。如何将我的 Java 对象绑定到特定的 LuaClosure(对于整个脚本)?

卢阿代码:

Java代码:

我知道在 LuaJ 2.0(但不是 3.0)中有 LuaValue.setenv,而且我知道创建库并将它们绑定到 Globals。

0 投票
2 回答
2838 浏览

java - 使用 luaj 将参数传递给 lua 函数

我正在尝试使用 LuaJ 在 Java 程序中调用 lua 函数。当我没有将任何参数传递给闭包时,它工作正常:

但是现在我正在尝试使用带有参数的顶级函数的 lua 脚本,但我只是不知道如何从 Java 中传递参数。这是我到目前为止得到的:

这会导致 invokemethod 行出现异常:

org.luaj.vm2.LuaError: 尝试索引?(一个函数值)

谢谢你的帮助!

0 投票
1 回答
891 浏览

java - 如何使用 CGLib 调用原始方法?

我正在使用 CGLib 动态更改 TileEntity (Minecraft)。在 InvocationHandler 中,我为接口调用 Lua 函数,但我希望在 Java 中调用已经存在的方法。这是我的调用方法:

问题是调用该方法将调用相同的方法而不是原始方法。有没有办法调用原始方法?

0 投票
1 回答
1443 浏览

java - 用 LuaJ 解释器编译 Lua 代码的 Java 方法

http://luaj.org/luaj/README.html

我正在使用 Luaj 在 Java 应用程序中运行 Lua 代码。我得到了一些非常慢的结果,所以我想在运行代码之前尝试编译代码来计算 Lua 脚本的实际处理时间。

问题是 - Luaj 确实展示了如何通过命令提示符将 Lua 源代码编译为 Lua 或 Java 字节码的示例,但它没有向我展示使用 Java 应用程序编译 Lua 脚本的行。

它只显示了如何编译和运行 Lua 脚本:

我想找到只会将 Lua 编译为 Lua 或 Java 字节码并输出字节码文件的代码。

0 投票
0 回答
260 浏览

lua - LuaJ:将多个字节码块组合成单个块

我有几个预编译的 lua 脚本,我想将它们组合起来并转储到单个字节码块中。预编译的脚本可以相互依赖。

在 C 中,我可以使用:

luaL_loadfile// luaL_loadfile_lua_dump

但我不确定如何使用 LuaJ 来做到这一点。我正在使用 luaj-3.0-alpha2 版本。

有任何想法吗?

0 投票
1 回答
495 浏览

java - 在 LuaJ 中需要 Java 类

我正在尝试用Java制作一个使用Lua作为脚本的游戏库。当我尝试需要一个 Java 类(即在 jar 中)时,真正的问题出现了,每当我尝试这样做时,我都会收到一个类似于以下错误的错误:

我如何需要一个 jar 中的 Java 类?现在看来,使用 Lua,我只能需要 .lua 文件,而不需要 .class 文件。这显然是有问题的,因为 Java 文件被编译成类文件......这就是我需要的。

0 投票
3 回答
4171 浏览

java - 将 java 库函数加载到 Luaj

我一直在加载 java 函数,以便可以使用 luaj 从 lua 文件中调用它。

我目前所做的是创建这样的东西:

在 some_package/aif.java :

然后在lua文件中:

然后在 Main.java 文件中:

这段代码有效,但我想要的是在 lua 文件中我们不必使用“require”。我已经类似地实现了这一点,但在 c++ 中使用这一行:

我们可以在 luaj 中这样做吗?我试过了 :

但在线程“main”org.luaj.vm2.LuaError 中出现异常:预期索引,得到 nil(aif 类的调用函数中的变量 env 为 nil)

有人知道如何将 aif 设置为 lua 库以与 luaj 一起使用吗?

0 投票
4 回答
5933 浏览

time - Luaj os.time() 返回毫秒

Luaj 中的 os.time() 以毫秒为单位返回时间,但根据 lua 文档,它应该以秒为单位返回时间。

  1. 这是Luaj中的错误吗?
  2. 您能否建议一种适用于 Luaj(for java)和真正的 Lua(c/c++)的解决方法?因为我必须对两个应用程序使用相同的 lua 源。(不能简单地将其除以 1000,因为它们都返回不同的时间尺度)

我的 lua 文件中的示例:

在 c++ 中,我收到了输出:

在java中(使用Luaj),我得到:

仅供参考,我在 Windows 上试试这个