Lua:从嵌套表中打印值

时间:2013-04-29 16:19:41

标签: lua lua-table

我觉得这是一个非常愚蠢的问题...

t = {
a = {x,y},
b = {z},
}

如何打印键'a'的第一个值? (“X”)

print(t["a"][1]) 

也不是

print(t.a[1])
是的,那我该怎么办呢?

'[]'和'。'之间有什么区别?顺便说一句?

2 个答案:

答案 0 :(得分:3)

  

' []'之间的区别是什么?和'。'顺便说一句?

点只是带有字符串的索引运算符[]的快捷/语法糖。 foo.bar相当于foo["bar"]。另一方面,foo[bar]将返回变量bar的值的索引处的值,因此,如果bar恰好是baz,那么它将foo["baz"] foo.baz } / []

在使用没有有效Lua标识符("变量名称")或非字符串作为索引的字符串时,必须使用foo["Jon Doe"] - 语法,如foo[3]或{{ 1}}。

答案 1 :(得分:1)

在此代码中,xyz都未定义,因此t.at.b为空表。我之前的问题answerxyz存储为字符串(但,而不是值)。