これは本当にばかげた質問だと思います...
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
を文字列として保存します (ただし、値としてではなく、キーとして保存します)。