0

これは本当にばかげた質問だと思います...

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

キー「a」の最初の値を出力するにはどうすればよいですか? ("x") どちらでもない

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

または

print(t.a[1])

そうですか、ではどうすればいいですか?

「[]」と「.」の違いは何ですか ところで?

4

2 に答える 2

3

「[]」と「.」の違いは何ですか ところで?

ドットは、文字列を使用したインデックス演算子 [] の単なるショートカット/構文シュガーです。 foo.barと同等foo["bar"]です。foo[bar]一方、変数の値のインデックスで値を返すbarため、barたまたまそうなった場合bazfoo["baz"]/を実行しfoo.bazます。

または のように、有効な Lua 識別子 (「変数名」) ではない文字列または[]文字列以外をインデックスとして使用する場合は、-syntax を使用する必要があります。foo["Jon Doe"]foo[3]

于 2013-04-29T16:43:14.977 に答える
1

このコードではx、 、y、およびzはすべて未定義であるためt.a、 およびt.bは空のテーブルです。以前の質問に対する私の答えxは、 、y、およびzを文字列として保存します (ただし、値としてではなく、キーとして保存します)。

于 2013-04-29T16:25:15.667 に答える