在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);
点赞
用户107090
用户107090

在代码中加入该行是创建命名参数的绝佳方法。 如果使用本地声明,就不会有任何副作用(除了其余代码的副作用)。

2013-04-05 21:00:21