Есть ли способ получить счет и имена всех параметров функции, определенных в файле .lua?Как получить имена параметров функции Luaj внутри класса java?
Для, например, мой 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);
}
Надеюсь, я разъяснил, чего я пытаюсь достичь. Любая помощь приветствуется.