Lua中常量的实现及表的深拷贝实现(2)

function table.deepcopy(t, n)
    local newT = {}
    if n == nil then    -- 默认为浅拷贝。。。
        n = 1
    end
    for i,v in pairs(t) do
        if n>0 and type(v) == "table" then
            local T = table.deepcopy(v, n-1)
            newT[i] = T
        else
            local x = v
            newT[i] = x
        end
    end
    return newT
end

非递归版本太牛逼了,不做介绍了自己想看源码的去看吧。

Lua 的详细介绍请点这里
Lua 的下载地址请点这里

推荐阅读

Lua 语言 15 分钟快速入门

Lua程序设计(第2版)中文 PDF

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/bb07a2093e0bd5d5541bbdeb61ea4ec5.html