我最近开始学习 Lua,因为我需要在我正在开发的 Java 应用程序中使用它。为此,我正在使用 LuaJ。我在互联网上四处搜索,发现如何将 Java 方法公开给 LuaJ,但我不知道如何公开(让 LuaJ 访问)Java 对象。我看到另一篇关于将 C# 对象暴露给 Lua 的帖子,答案是这样的:
__index()
在 Lua和任何语言的任何应用程序之间共享对象的一般方法是定义__newindex()
一个userdata
...
有人可以向我解释如何做这里描述的事情,或者解释另一种暴露对象的方法,这样我基本上可以做这样的事情:
//In Java.
exposeObject(myObject, "nameOfMyObject");
--Then in Lua
nameOfMyObject:myFunction();