Lua 5.2 我需要迭代一个userdata
变量。据我了解,我可以使用getmetatable
and来做到这一点__pairs
。像这样:
for k, v in getmetatable(userdataVariable).__pairs do
-- someting
end
但是当我尝试这样做时,我会“尝试调用零值”。
我在__pairs
这里找到了一个实现:lua __pairs 的实际实现是什么?
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
但我不明白我应该怎么做theseok
?我应该在这里定义什么功能?