use*_*907 6 lua metatable lua-5.2 meta-method
有没有人知道lua 5.2的实际实现.metamethod __pairs?换句话说,我如何__pairs在metatable中实现metame方法,以便它与...完全相同pairs()?
我需要覆盖__pairs并希望跳过我在表中添加的一些虚拟变量.
下面的代码会跳过一些条目。根据需要进行调整。
local m={
January=31, February=28, March=31, April=30, May=31, June=30,
July=31, August=31, September=30, October=31, November=30, December=31,
}
setmetatable(m,{__pairs=
function (t)
local k=nil
return
function ()
local v
repeat k,v=next(t,k) until v==31 or k==nil
return k,v
end
end})
for k,v in pairs(m) do print(k,v) end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2817 次 |
| 最近记录: |