我從一個字符串(使用C api)加載函數的主體,但默認情況下,所有傳遞給函數的參數都可以使用...
來訪問。什麼是指定參數列表的最佳方式?我只能想到像前面加上分析之前,下面的這個字符串的行(假設參數應該是自我,X,Y):在lua中指定函數參數名稱
local self, x, y = ...
不過,我不知道,如果它的最好辦法做到這一點,或者是否有任何意想不到的副作用。
更新:在其中一個函數中,我需要一個形式爲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);
你最後的解決方案是好的。請注意,你需要調用lua_call *兩次*來運行你的代碼。 – lhf 2013-04-05 21:39:30
是的,在我張貼的片段之後,我從堆棧中抓取函數並將其存儲起來供以後使用。第一個解決方案沒有lua_call。 – riv 2013-04-05 22:53:07