2013-04-29 83 views
0

打印价值我觉得这是一个非常愚蠢的问题...的Lua:从嵌套表

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

如何打印键“A”的第一个值? ( “X”) 无论

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

也不

print(t.a[1]) 

这样做,所以我将如何去?

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

+2

在Lua中,字符串必须用引号引起来:'t = {a = {'x','y'},b = {'z'}}' – 2013-04-29 16:34:54

回答

1

在这段代码,xy,并且z都是不确定的,因此t.at.b是空表。我的answer到您先前的问题商店x,yz作为字符串(但作为,而不是值)。

+0

所以这是一个愚蠢的问题。我得到它的工作,我再次感谢你! – Easypeasy 2013-04-29 16:41:29

3

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

该点只是索引运算符[]带字符串的快捷方式/语法糖。 foo.bar相当于foo["bar"]foo[bar]另一方面将返回变量bar的值的索引处的值,因此如果bar碰巧是baz,则它将执行foo["baz"]/foo.baz

使用字符串它们时,必须使用[] -syntax没有有效的Lua标识符(“变量名”)或非字符串作为指标,像foo["Jon Doe"]foo[3]