これは本当にばかげた質問だと思います...
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 識別子 (「変数名」) ではない文字列または[]文字列以外をインデックスとして使用する場合は、-syntax を使用する必要があります。foo["Jon Doe"]foo[3]
このコードではx、 、y、およびzはすべて未定義であるためt.a、 およびt.bは空のテーブルです。以前の質問に対する私の答えxは、 、y、およびzを文字列として保存します (ただし、値としてではなく、キーとして保存します)。