.luaファイルで定義されているすべての関数パラメータの数と名前を取得する方法はありますか?例えば、私のtest1.luaについてはJavaクラス内でLuaj関数のパラメータ名を取得する方法は?
は
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)、この関数の入力パラメータの数、そしてこれらの入力の名前を得ることができますか?
名前がわかっていれば関数と入力パラメータの数と順序は以下のように関数を呼び出すことができます。
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);
}
私は達成しようとしていることを明確にしたいと思います。どんな助けもありがとうございます。