我觉得这是一个非常愚蠢的问题......
t = {
a = {x,y},
b = {z},
}
如何打印键“a”的第一个值?("x") 两者都不是
print(t["a"][1])
也不
print(t.a[1])
做到了,那我该怎么办?
'[]' 和 '.' 有什么区别?顺便提一句?
'[]' 和 '.' 有什么区别?顺便提一句?
点只是带有字符串的索引运算符 [] 的快捷方式/语法糖。
foo.bar
相当于foo["bar"]
。foo[bar]
另一方面,将返回变量值索引处的值bar
,所以如果bar
碰巧baz
它会做foo["baz"]
/ foo.baz
。
[]
当使用不是有效 Lua 标识符(“变量名”)或非字符串作为索引的字符串时,您必须使用- 语法,例如foo["Jon Doe"]
or foo[3]
。
在此代码中x
,y
、 和z
都是未定义的,因此t.a
和t.b
是空表。我对您上一个问题的回答将x
,y
和z
作为字符串存储(但作为键,而不是作为值)。