我试了一下,对于普通的table类型,比方说.
local t={}
t["a"]=123
print(t.a)
使用t.a就可以用到t["a"].
但这是适用于所有情况吗?包括如果t是一个用lua机制实现的类的对象,a是t的成员数据,这样的话正常地讲可以用t.a获取到a,但能用t["a"]吗?如果我非要用"a"这个字符串获取到t.a这个成员数据,这样可行吗?
我试了一下,对于普通的table类型,比方说.
local t={}
t["a"]=123
print(t.a)
使用t.a就可以用到t["a"].
但这是适用于所有情况吗?包括如果t是一个用lua机制实现的类的对象,a是t的成员数据,这样的话正常地讲可以用t.a获取到a,但能用t["a"]吗?如果我非要用"a"这个字符串获取到t.a这个成员数据,这样可行吗?
t.a
等价于t["a"]
lua 里只有一个 table 数据类型,取成员的方式实际只有
[]
。t["a"]
可以简写为t.a
。有些时候简写不了,比如
t[1]
,或者t["if"]
(关键字,不能写成t.if
)