lua 算术运算符对应的元方法

lua 算术运算符对应的元方法_第1张图片

__pow       幂运算         ^

__band     按位与         &

__bor        按位或         |

__bxor      按位异或     ~

__bnot      按位取反     ~

__shl        向左移位     <<

__shr        向右移位     >>

__len         取长度        #

       此外还有__tostring 可以影响对这个类型的数值的print结果。不过一般我们都是给表或者自定义类型设置元表和元方法,(其实其他类型值也可以,不过得通过C代码和调试库完成。我们可以为每一个表都设置不同的元表,但除了表和自定义类型外,其他类型都是共享同一个表。比如为string类型设置元表,则会使所有字符串都共享同一个元表,所以一般也不必为这些类型设置元表,否则会导致不可复用的代码或者业务间的耦合等)。调用print函数的时候,其实就是调用了tostring函数,tostring函数首先会检测此类型是否有__tostring方法,如果有,会调用此方法。

你可能感兴趣的:(lua)