.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 ファイルをその中にある関数を知らずにロードした場合。関数の名前(「MyAdd」)、この関数への入力パラメータの数、およびJava内のこれらの入力パラメータの名前(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);
}
私が何を達成しようとしているのかを明確にしていただければ幸いです。どんな助けでも大歓迎です。