有谁知道 lua 5.2 的实际实现吗?元方法__pairs
?换句话说,我如何实施__pairs
作为元表中的元方法,因此它的工作原理与pairs()
?
我需要覆盖__pairs
并想跳过我在表中添加的一些虚拟变量。
下面将使用元表元来显式提供pairs
默认行为:
function meta.__pairs(t)
return next, t, nil
end
现在,为了跳过特定元素,我们必须替换返回的next
:
function meta.__pairs(t)
return function(t, k)
local v
repeat
k, v = next(t, k)
until k == nil or theseok(t, k, v)
return k, v
end, t, nil
end
以供参考:Lua 5.2手册,成对 http://www.lua.org/manual/5.2/manual.html#pdf-pairs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)