Lua元表
设置元表:setmetatable(表,元表)
原表内置特殊属性:
| 属性 | 作用 |
|---|---|
| __index | 索引,在表内找不到时到__index设置的表找,或执行__index的函数 |
| __newindex | 增加新键时,执行设置的函数或者添加到newindex设置的表 |
| __call(…) | 当表被当作函数调用时执行call设置的函数,可以传参 |
| __tostring | 当表被当作字符串运算或输出时,执行tostring设置的函数 |
| __add(self,other) | 对应的运算符 + |
| __sub(self,other) | 对应的运算符 - |
| __mul(self,other) | 对应的运算符 * |
| __div(self,other) | 对应的运算符 / |
| __mod(self,other) | 对应的运算符 % |
| __unm(self) | 对应的运算符 -(负号) |
| __concat(self,other) | 对应的运算符 .. |
| __eq(self,other) | 对应的运算符 == |
| __lt(self,other) | 对应的运算符 < |
| __le(self,other) | 对应的运算符 <= |
| __len(self) | 对应的运算符 # |
代码示例
1 | mt = {name = 'bk',age = 18} |
