Lua在表函数中设置表元素

0 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
Run Code Online (Sandbox Code Playgroud)

print功能的结果都是.nil为什么所有元素t.tt都是零?

Car*_*Dev 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
Run Code Online (Sandbox Code Playgroud)

或者只是分配值:

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
Run Code Online (Sandbox Code Playgroud)