Lua在表函数中设置表元素

时间:2016-02-14 13:18:58

标签: lua scope lua-table

以下是摘录:

    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中的所有元素都是零?

1 个答案:

答案 0 :(得分:7)

您需要在打印前实际运行该功能:

local t = {}

t.tt = {}

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

-- execute function here
t.xx()

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

或只是分配值:

local t = {}

t.tt = {}

-- no function here
for i=1,10 do
    t.tt[i] = i
end

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