在Lua中打印表格为nil。

我有一段 Lua 代码,这只是一个例子,实际使用的代码比这个大,但是我遇到了这部分的问题。

有人知道为什么当我尝试打印表格t中的内容时,我得到的结果是nil吗?

t = {
{name="John",sex="M",age=19},
{name="Susan",sex="F",age=20}
}

for _ in ipairs(t) do

    print("NAME: " .. t.name)
    print("SEX: " .. t.sex)
    print("AGE: " .. t.age)
    print("\n")

end

我的意思是,当我运行代码时,我得到的结果是:

attempt to concatenate field 'name' (a nil value)
点赞
用户646619
用户646619

迭代t不会改变t。需要指定要放置正在迭代的值的位置,并使用这些变量。

local t = {
    {name="John",sex="M",age=19},
    {name="Susan",sex="F",age=20}
}

for index, value in ipairs(t) do
    print("NAME: " .. value.name)
    print("SEX: " .. value.sex)
    print("AGE: " .. value.age)
    print("\n")
end
2014-05-03 21:11:54