Lua : 通过变量名存储在table

Lua : Storing in a table through a variable name

我明白为什么这个 mwe 不起作用,但我不知道它是如何工作的。 我想使用变量内容作为参考名称(而不是变量名称)。

salade = {}

name = "tomato"

salade.name = "red"

print (salade.tomato)   -- nil, should be red 
print (salade.name)     -- red, should be nil

只需使用正常的 table 索引语法,而不是 tbl.key 语法糖:

salade = {}
name = "tomato"
salade[name] = "red"

print (salade.tomato)   -- red
print (salade.name)     -- nil