是否可以覆盖标准字符串类的某些方法,以便可以使用点运算符调用它们? 例如:
s = "hello world"
print(s.len())
答案 0 :(得分:1)
对于非table或完整userdata的类型,每个类型都有一个metatable。也就是说,不是每个单独的字符串都有自己的元表,所有字符串都共享相同的元表。
默认情况下,Lua标准字符串库将此元表分配给string
表。因此,如果需要,您可以向string
添加条目。
当然,len
毫无意义,因为我们有#
来计算它。如果要将字符串作为第一个参数传递,则需要使用:
调用语法。