Lua中在函数中设置表中的元素

以下是代码片段:

    local t = {}

    t.tt = {}

    function t.xx()
        for i=1,10 do
            t.tt[i] = i
        end
    end

    for i=1,10 do
        print(t.tt[i])
    end

print 函数的结果全部为 nil。为什么 t.tt 中的所有元素都是 nil 呢?

点赞
用户2894770
用户2894770

你需要在打印之前实际运行函数:

local t = {}

t.tt = {}

function t.xx()
    for i=1,10 do
        t.tt[i] = i
    end
end

-- 在这里执行函数
t.xx()

for i=1,10 do
    print(t.tt[i])
end

或者直接赋值:

local t = {}

t.tt = {}

-- 在这里没有函数
for i=1,10 do
    t.tt[i] = i
end

for i=1,10 do
    print(t.tt[i])
end
2016-02-14 13:31:04