Lua 变参处理之select函数

来源:互联网 发布:人工智能 下半场 编辑:程序博客网 时间:2024/05/21 06:14

        在lua编程中,如果想要迭代处理函数的变参,可以用{...}将所有的变参收集到一个table中。但是有时变参中可能含有非法的nil,我们可以用select函数把非法的nil参数剔除。

示例

function foo(...)  for i = 1, select('#', ...) do    local arg = select(i, ...);    if arg then      print("arg"..i, arg);      end  endend foo(1,"a",nil, {2,3});--[[ --outputarg11arg2aarg4table: 0x00021d88]]
        其中,select函数中的第一个参数为selector,第二个参数为传入处理的变参。调用的时候,如果selector的值为数字n,那么select函数返回变参中的第n个参数,如果selector的值为'#',select函数会返回可变参数的总数目。

原创粉丝点击