2013-04-29 48 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]