1
有没有办法获得.lua文件中定义的所有函数参数的计数和名称?如何获得java类中的Luaj函数参数名称?
对于如我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文件而不知道里面有什么函数。我如何获得函数的名称('MyAdd'),输入参数的数量以及这些输入参数的名称(num1,num2和num3)java内部
如果我知道名称输入参数的功能和数量以及顺序我可以调用该函数,如下所示。
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);
}
我希望我明确了自己想要达到的目标。任何帮助表示赞赏。