问题标签 [luajava]
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.
java - 如何通过反射 luaj 传递类 - java
我使用 LuaJ,它包含一个库:luajava,它允许通过反射将一个类传递给 lua 环境。你知道怎么做吗?我注意到有一种方法可以传递编译类:
未编译的类:*.java 怎么样?如何通过它?
java - LuaJava:从 Java 调用 Lua 对象的方法?
我有通过 LuaJava 调用 Lua 的 Java/Scala 代码。我想模仿一些从 J/S 管道到 Lua 管道的对象层次结构;基本上在语言中有伴生对象。换句话说,如果我在 J/S 中创建一个“Cracker”,我将在 Lua 中创建一个“Cracker”对象。然后当我在 J/SI 中调用类似“eatCracker”的方法时,也可以调用 Lua 伴生对象的“eatCracker”。
问题是,我不知道如何创建和存储 Lua 对象,以及如何调用特定对象的方法。
有人能帮忙吗?
lua - 在 luajava 中强制使用整数类型
有没有办法使用 LuaJava 强制整数类型?我正在尝试在 LuaJ 3.0 beta 1(luaj-jse-3.0-beta1.jar)
中创建一个java.awt.Color
. 考虑到构造函数 ( JavaAPI )的 Java API 可用性,您不会认为这是一个问题。我对将整数强制放入构造函数感兴趣的原因是Color
可用的构造函数采用int
or的三个和四个参数float
。由于 Lua 的数字类型是double
,因此 LuaJ(或 LuaJava)调用float
构造函数的版本。
起初,我认为这不会是一个问题,但在尝试使用它后,我注意到我收到了一个错误的Color
. 这些值没有被正确地传递给构造函数,并且Color
对象基本上被破坏了,没有明显的错误(它没有崩溃任何东西,只是没有显示)。
这是一个简单的例子:
如果我将r = 1.0
, g = 0.2
,传递b = 0.2
给这个构造函数,然后 print j_color
,我会看到
在输出中。事实上,我可以使用任何我想要的东西r
,g
只要b = 0
,没有问题,但否则,它会导致痛苦和痛苦。
我有点好奇是否有其他人遇到过这个问题。如果不能解决,我会联系 LuaJ 项目的 PI 并报告。
附带说明:构建一个解决方案是一件简单的事情,我使用定制的 Java 函数来负责创建Color
. 我更担心这个问题的存在,以及是否有某种方法可以指定要使用的构造函数,或者明确告诉 LuaJava 使用整数,而不是双精度数。
更新
我也尝试使用四浮点构造函数,并且出现了同样的问题。如果我传入以下值之一:alpha=0, 0.5, 1
构造函数正常运行。其他任何事情都会产生上述结果。
java - LuaJ 在 java 中需要 json 模块
我试图在 Java 代码中加载 json 模块。文档中的示例显示它应该像这样,但它不起作用。它要求模块在项目中还是从 LUA_PATH 加载它。有没有人有这个问题的经验?
线程“主”org.luaj.vm2.LuaError 中的异常:找不到模块“json”:json 没有字段 package.preload['json'] json.lua 没有类“json”
看起来它只是在 LuaJ 包中尝试。
java - Foreach 在 Lua 中通过 Java Hashmap 循环
所以我是 Lua 的新手,我已经让 LuaJava 与我的 Java 代码一起运行,但我一直在试图弄清楚如何在 Lua 中的 hashmap 上运行 foreach 循环。
在我的java代码中,我有这个:
爪哇
然后我得到了我的 lua 脚本,我试图弄清楚如何在 EntityManager 中遍历 hashmap 中的所有实体:
卢阿
我几乎已经为我的函数等设置了所需的一切,但我不知道如何创建一个相当于 Java foreach 循环的 Lua,以在我的 Lua 脚本中迭代我的 Java 哈希图。
另外我想知道如何在 Lua 中检查对象的类型,以查看它是否是我的 Java 类之一的实例。例如,在 Java 中,如果我想查看一个对象是否属于对象类型,我会执行以下操作:
哦,我不完全确定我传递给 Lua 脚本的 Java 对象是否保留了它的 Java 类类型,我也不知道如何去做这样的事情。
顺便说一句,我使用的是 Kepler Project 的LuaJava。
谢谢。
java - 安装 LuaJava
我有一个 Mac 版本 10.9,我正在尝试构建 LuaJava。我构建 Lua 5.0 没有问题,但是在使用本教程时出现此错误:
当我运行 make 时从终端。我追踪了 jni 标头,但现在我不知道如何处理它/将它放在哪里以便找到它。
java - 使用 LuaJava 的 EnumMap(尝试调用 nil 值)
正如标题所说,我对 LuaJava 和 EnumMap 有疑问。我正在尝试做一个 RPG 库,所以我们有一个带有一些属性的角色和它们的列表。在下面的代码中,我将只报告重要的事情。
我有一个名为 ConcreteAttribute 的类,它扩展了 AbstractAttribute,它有一个带有 String 和两个 int 的构造函数。
然后我有一个名为 StatType 的 Enum,它代表你在 RPG 游戏中的统计数据:
我还有一个名为 PlayableCharacter 的类,它有(我只会报告重要的事情):
和 Map 的“放置”方法。
为了创建一个新角色,我目前正在这样做(“Eroe”扩展了 PlayableCharacter):
并且工作正常,但是当你有很多 ConcreteAttribute 和很多 Character 时,我认为这不是最好的解决方案。所以我想用 Lua 来创建角色的“具体” istance,这样(小例子):
但我收到此错误:PANIC: unprotected error in call to Lua API (attempt to call a nil value)。问题出在最后一行,但我对 Lua 真的很陌生,我什至不知道 Lua 是否可以处理 EnumMap。
有什么解决办法吗?
谢谢大家,对不起我的英语不好^^
编辑:我已经编辑了代码,我发现了一个错误
java - 如何在 Luaj 中加载 Lua-Filesystem 和 Lua-Penlight
我有一个使用 Luaj 3.0 库的程序,我发现了一些我想包含的 lua 脚本,但它们都需要 lua 文件系统和 penlight,每当我尝试使用这些库时,它都会出错。
有谁知道我应该如何利用 Luaj 中的那些?
编辑:更多信息可能会有所帮助:我是 Archlinux 64 位系统,安装了 open-jdk8 Luaj、lua-filesystem 和 lua-penlight。我找到了一组名为Lua Java Utils的库,我想将其包含在我的项目中。但它总是得到这个错误:
第 24 行供参考:
它需要 penlight 库,而后者又需要 lua 文件系统,这就是我安装这两个文件系统的原因。我通过测试发现 Lua 文件系统没有通过尝试运行来加载lfs.currentdir()
。我试过globals.load("local lfs = require \"lfs\"").call();
了,但它也给出了一个错误。
我的 Lfs 图书馆位于/usr/lib/lua/5.2/lfs.so
和 penlight 在/usr/share/lua/5.2/pl
。
java - LuaJava - 调用 Lua API 时出现不受保护的错误
我试图让一个在 LuaJava 中工作的简单函数(添加两个数字)。我对 Lua 的经验很少,并且发现这很困难,因为我无法找到 LuaJava 的深入文档。我目前可以从 lua 打印到 java 控制台,但除此之外什么也没有。
我尝试实现了一些方法,但每次都得到相同的错误:
这是我正在使用的代码:
和 Lua 文件:
我的 IDE 是 Eclipse。提前感谢您的帮助。
android - Lua全局表在不同文件中不同
我在 Android 上使用 LuaJava 的AndroLua端口,当我在文件 A 中定义全局表并尝试从文件 B 访问它时,缺少一些条目:
档案一:
该Game:init()
方法是从 java 中调用的。
文件 B:
为什么文件 B 不打印 '7' 和 'othername'?