如果我有这个结构:
a.key = b
并且a都附有metatable,b附有metatable。然后将调用b的metatable setter将键设置为b。这是lua 5.3.0的错误吗?
编辑:a和b是字符串。
答案 0 :(得分:2)
表和完整的userdata具有单独的元表(尽管多个 表和userdata可以共享其元表。所有其他的价值观 类型每种类型共享一个metatable;也就是说,有一个 所有数字的单个metatable,所有字符串的一个,等等 默认情况下,值没有metatable,但字符串库设置了a metatable为字符串类型(见§6.4)。
来自文档的回答。它是一个特征:a和b是字符串,因此共享它们的元数据。