Lua中的元表里的__index和__newindex在lua中有一个概念叫做“元表”(metatable)。这是一种特殊的表,里面包含一些函数属性,而这个表一旦通过setmetatable绑定了一个普通表,这个普通表的索引就会被施加一些“魔法”:当试图根据索引获取该表的某个不存在的元素的值时不再返回nil而是运行某个函数,或返回其它表的元素;当试图给一个表中不存在的索引赋值时,不一定给表添加所要添加的新元素。这两个“魔法”,是由元表中的__index和__newindex施加的。 关于元表的基本概念,请参阅元表。