Lua中一个奇怪的设计:
原始读索引是rawget(t, i),原始写索引是rawset(t, k, v)。
元表的读索引却是__index,写索引是__newindex,这是什么命名,为什么不保持一致,就叫__getindex和__setindex?
原始读索引是rawget(t, i),原始写索引是rawset(t, k, v)。
元表的读索引却是__index,写索引是__newindex,这是什么命名,为什么不保持一致,就叫__getindex和__setindex?

1 middleware May 27, 2013 Lua 5.2 document: Note that the metamethod (__index) is tried only when key is not present in table. |