我不知道我做错了什么。基本上代码如下所示:
local t = setmetatable({}, {__pairs = function (self)
print "Message from __pairs()"
return function ()
...
end
end})
for k, v in pairs(t) do ... end
__ipairs() 也是如此。根本不调用重载的元方法 - 没有控制台输出,根本没有自定义迭代。相反,我得到的结果就像我遍历没有元表的表一样。怎么了?