【发布时间】:2019-03-14 19:31:29
【问题描述】:
Lua 5.2
我需要迭代一个 userdata 变量。
据我了解,我可以使用getmetatable 和__pairs 来做到这一点。像这样:
for k, v in getmetatable(userdataVariable).__pairs do
-- someting
end
但是当我尝试执行此操作时,我得到“尝试调用 nil 值”。
我在这里找到了__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?我应该在这里定义什么函数?
【问题讨论】:
-
我认为您实际上不需要它。 And take a look here
标签: lua lua-userdata