我觉得这是一个非常愚蠢的问题...
t = {
a = {x,y},
b = {z},
}
如何打印键'a'的第一个值? (“X”)
print(t["a"][1])
也不是
print(t.a[1])
是的,那我该怎么办呢?
'[]'和'。'之间有什么区别?顺便说一句?
答案 0 :(得分:3)
' []'之间的区别是什么?和'。'顺便说一句?
点只是带有字符串的索引运算符[]的快捷/语法糖。
foo.bar
相当于foo["bar"]
。另一方面,foo[bar]
将返回变量bar
的值的索引处的值,因此,如果bar
恰好是baz
,那么它将foo["baz"]
foo.baz
} / []
。
在使用没有有效Lua标识符("变量名称")或非字符串作为索引的字符串时,必须使用foo["Jon Doe"]
- 语法,如foo[3]
或{{ 1}}。
答案 1 :(得分:1)
在此代码中,x
,y
和z
都未定义,因此t.a
和t.b
为空表。我之前的问题answer将x
,y
和z
存储为字符串(但键,而不是值)。