有什么方法可以获取 .lua 文件中定义的所有函数参数的计数和名称?
例如我的 test1.lua 是
function MyAdd( num1, num2, num3)
local x = 0
if(num1 <= num2) then
x = num1 + num2 + num3
else
x = (num1 - num2) + num3
end
return x
end
在 Java 类中,我试图通过传递参数值来执行这个函数。
如果这个 Lua 函数是由其他用户编写并保存到一个文件夹中,并且 Java 应用程序加载了这个 Lua 文件而不知道其中的函数是什么。如何在 java 中获取函数的名称('MyAdd')、该函数的输入参数的数量以及这些输入参数的名称(num1、num2 和 num3)
如果我知道函数的名称以及输入参数的数量和顺序,我可以如下调用该函数。
public static void main(String[] args) {
int a1 = 5;
int a2 = 10;
int a3 = 15;
Globals globals = JsePlatform.standardGlobals();
globals.get("dofile").call(LuaValue.valueOf("./luascripts/test1.lua"));
LuaValue MyAdd = globals.get("MyAdd");
Varargs results = MyAdd.invoke(LuaValue.varargsOf(new LuaValue
[] {LuaValue.valueOf(a3), LuaValue.valueOf(a1), LuaValue.valueOf
(a2)}));
System.out.println(results);
}
我希望我清楚自己要达到的目标。任何帮助表示赞赏。