Lua 可变参数 ... 的一点测试

function test( ... )
    if (...) then
        dibug("has ...")
    else
        dibug("no ...")
    end
    for k, v in ipairs({...}) do
        dibug("for ipairs v = " .. tostring(v))
    end
    for k, v in pairs({...}) do
        dibug("for pairs v = " .. tostring(v))
    end
    dibug("length = " .. table.getn({...}))
end
test(nil, 1, nil, 2)
--Output

no ...
for pairs ... v = 1
for pairs ... v = 2
length = 2

对 Lua 不要想当然的去使用.

自己写个demo -> Google一些资料 -> 阅读源码 了解实现机制. 

posted @ 2017-10-11 20:27  wmalloc  阅读(199)  评论(0编辑  收藏  举报