在lua中指定函数参数名称

时间:2013-04-05 20:42:59

标签: lua

我从字符串(使用C api)加载函数体,但默认情况下,使用...访问传递给函数的所有参数。指定参数列表的最佳方法是什么?在解析它之前,我只能想到在字符串前面添加如下行(假设参数应该是self,x,y):

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);

1 个答案:

答案 0 :(得分:3)

预先添加该行是创建命名参数的绝佳方法。如果您使用本地声明,那么就不会有任何副作用(除了代码的其余部分)。