关于lua5.2中table.getn方法不能用的代替方案

时间:2021-11-09 08:05:28

lua5.0以上版本去除了table.getn方法,代替方案为


if string.find(_VERSION, "5.2") then
    table.getn = function (t)
        if t.n then
            return t.n
        else
            local n = 0
            for i in pairs(t) do
                if type(i) == "number" then
                    n = math.max(n, i)
                end
            end
        return n
        end
    end
end

代码放置需要使用table.getn的前边即可