lua 算术运算符对应的元方法
__pow 幂运算 ^
__band 按位与 &
__bor 按位或 |
__bxor 按位异或 ~
__bnot 按位取反 ~
__shl 向左移位 <<
__shr 向右移位 >>
__len 取长度 #
此外还有__tostring 可以影响对这个类型的数值的print结果。不过一般我们都是给表或者自定义类型设置元表和元方法,(其实其他类型值也可以,不过得通过C代码和调试库完成。我们可以为每一个表都设置不同的元表,但除了表和自定义类型外,其他类型都是共享同一个表。比如为string类型设置元表,则会使所有字符串都共享同一个元表,所以一般也不必为这些类型设置元表,否则会导致不可复用的代码或者业务间的耦合等)。调用print函数的时候,其实就是调用了tostring函数,tostring函数首先会检测此类型是否有__tostring方法,如果有,会调用此方法。