访问类型元表Lua
显然,getmetatable可以访问几种类型的元表:访问类型元表Lua,lua,Lua,显然,getmetatable可以访问几种类型的元表: getmetatable("") getmetatable({}) getmetatable(newproxy(true)) 但是,看起来似乎无法将其他类型函数的元表放在一边。似乎无法访问数字、布尔值或nil的元表 我还想知道是否可以访问整个表类型的元表。要想做到这一点: ({}) + ({}) 字符串、数字、nil、函数和lightuserdata对于整个类型都有一个元表。表和完整用户数据对于每个实例都有一个元表 从文档中: 表和完整
getmetatable("")
getmetatable({})
getmetatable(newproxy(true))
但是,看起来似乎无法将其他类型函数的元表放在一边。似乎无法访问数字、布尔值或nil的元表
我还想知道是否可以访问整个表类型的元表。要想做到这一点:
({}) + ({})
字符串、数字、nil、函数和lightuserdata对于整个类型都有一个元表。表和完整用户数据对于每个实例都有一个元表 从文档中: 表和完整的用户数据 单个元表 多个表和用户数据可以共享 他们的元表。其他一切价值观 每个类型共享一个元表 类型就是有一个单一的, 所有数字的元表,所有数字的元表 弦乐 没有“表类型元表”,就像没有“此字符串的元表”
字符串类型默认将“字符串”表作为元表;但是您可以使用debug.setmetatable函数.strings等为其他类型设置元表。默认情况下,数字、布尔值和nil没有元表,因此getmetatable返回nil。不过,您可以使用debug.setmetatable为它们提供一个
没有公共表元表。用户数据也一样,至少种类繁多谢谢。我只是想知道。