lua学习更新
可变参数
之前写了个调试的时候打印参数的方法,如下
com_util.dump = function(...)
local args = {...}
for _, v in pairs(args) do
print(v)
end
end
使用过程中发现一个问题,打印的变量经常为nil,但lua的table如果有nil,在pairs就会continue过去(ipairs直接break),导致我传入了4个变量,但只打印了3个,不知道哪个是哪个。之后改动如下
com_util.dump = function(...)
local n = select('#', ...)
local v
for i = 1,n do
v = select(i, ...)
ngx.say(v)
end
end
end
select('#',...) 输出可变参数长度
select('n ',...) 获取第n个可变参数,这样就能打印nil了

浙公网安备 33010602011771号