【Lua表的定义和访问】关于[]和点操作符的使用
Lua表的定义可以通过下面两种方式
lua
a = {x = "abc"}
b = {[y] = "abc"}
在这里,x
将代表的是一个自字符串,而y
代表的是一个对象,所以如果y = nil
,b
的定义则是错误的,Lua会报错。
同样的,访问Lua的表也有两种方式,
lua
a.x
b[y]
上面的.
操作符,x
是一个字符串,就为"x"
,而y
代表的是一个对象。
总之,被[]
括住的代表对象,不被扩住的就代表字符串,需要是一个合法的标识符。
lua
> b = {"m" = "abc"}
stdin:1: '}' expected near '='
> b = {1 = "abc"}
stdin:1: '}' expected near '='
> b = {_1 = "abc"}
> b = {["m"] = "abc"}
> b = {[1] = "abc"}