Lua 5.2我需要迭代一个userdata
变量。据我了解,我可以使用getmetatable
和__pairs
来做到这一点。像这样:
for k, v in getmetatable(userdataVariable).__pairs do
-- someting
end
但是当我试图这样做时,我会'尝试调用零值'。
我在这里找到了__pairs
实现:what is actual implementation of 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
?我应该在这里定义什么功能?
我想你正在寻找__index
元表。