Как исследовать неизвестную переменную-объект в луа?
Есть функция для получения содержимого объекта:
function utils.dump(t, level)
level = level or 0
for i, v in pairs(t) do
io.write(string.rep(" ", level))
io.write(i .. ": ")
if type(v) == "table" then
print ""
dump(v, level + 1)
else
print(tostring(v))
end
end
end
По идее она должна показывать что за объект, и что в нём лежит. Она в принципе работает, но вот появляется у меня некий объект t
Дампер выдаёт:
address:"ssdfsdfsd"
name:"Name"
Но при этом tostring(t) выдаёт
"function():userdata -- Get iterator."
Вызов t()
выдаёт мне итератор. Что там за userdata не просмотреть из луа(да и не очень нужно).
Соответственно дампер явно что-то об объекте не пишет, как можно его доделать?
И что вообще это может быть за t такой, который таблица по типу, но ведёт себя как функция?
Источник: Stack Overflow на русском