在Lua中,使用另一个表作为键来索引表是否会调用__eq元方法?

我想知道当 key 是带有元表的表时,table[key] 是否会调用 __eq 元方法。例如,如果表有一个键 "a",并且 __eq 元方法在比较 a 与元表时返回true,那么使用该表作为key索引表是否会返回值 "a"?

点赞
用户90511
用户90511

不,索引使用原始相等性:http://www.lua.org/manual/5.2/manual.html#2.4

在索引对象之前,你应该考虑将其显式转换为其字符串表示,而不是依赖隐式元方法。

2014-04-19 18:09:59