Lua:这些变量赋值有什么不同?

时间:2014-04-20 20:44:38

标签: variables lua

变量赋值之间有什么区别

    local newpos = {}
newpos.x = 1       ----- or --------- newpos[x] = 1

我不知道我说的是什么,但对我来说这些似乎是相同的,如果不相似的话?

1 个答案:

答案 0 :(得分:2)

newpos.x = 1newpos["x"] = 1相同,即他们都将存储在密钥string "x"的值设置为1

newpos[x] = 1不同。这会将存储在键contents of variable x的值设置为1

Try it并查看。

local newpos = {}

newpos.x = 1
print(newpos.x, newpos["x"], x, newpos[x])

newpos["x"] = 2
print(newpos.x, newpos["x"], x, newpos[x])

local x = "var"
print(newpos.x, newpos["x"], x, newpos[x])

newpos[x] = 3
print(newpos.x, newpos["x"], x, newpos[x])

上述结果:

1   1   nil nil
2   2   nil nil
2   2   var nil
2   2   var 3