Как исследовать неизвестную переменную-объект в луа?

Рейтинг: 1Ответов: 0Опубликовано: 22.07.2025

Есть функция для получения содержимого объекта:

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 такой, который таблица по типу, но ведёт себя как функция?

Ответы

Ответов пока нет.