是否有测试(或一种神奇的方法)来确定您在脚本中遇到的表是否在此脚本中的其他位置或其他需要的模块中具有元表?这是没有搜索整个代码. 如果你想确切知道: if getmetatable(some_tabl
if getmetatable(some_table) ~= nil then print "It has a metatable" else print "It doesn't have a metatable" end
即使通过设置__metatable = false来“隐藏”,它也会检测到metatable.如果你想要尊重这一点并考虑一个“隐藏”的元表根本就没有metatable,你还必须检查false(或者只是写一下getmetatable(some_table)然后……)
(感谢Egor Skriptunoff指出这一点!)