関数の本体を文字列から (C api を使用して) ロードしますが、デフォルトでは、関数に渡されるすべての引数は...
. 引数リストを指定する最良の方法は何ですか? 文字列を解析する前に、次のような行を文字列の先頭に追加することしか考えられません (引数は、self、x、y である必要があると仮定します)。
local self, x, y = ...
ただし、これが最善の方法であるかどうか、または意図しない副作用があるかどうかはわかりません。
更新: 関数の 1 つで、形式の引数リストが必要self, type, ...
です。以下はうまくいきませんよね?
local self, type, ... = ...
代わりにこれを使用する必要がありますか?
text = "return function(self, type, ...)" + text + " end";
luaL_loadbufferx(L, text, text.length(), filename, "t");
lua_call(L, 0, 1);