'lua_tinker'에 해당되는 글 1건

  1. 2008.03.08 [lua] objinfo

[lua] objinfo

2008. 3. 8. 12:05 from 프로그래밍 팁/lua
lua_tinker 0.5b 예제(sample3.lua) 에 나왔던 유틸리티 함수.


-- 어떠한 객체의 metatable을 통해 등록된 클래스와 그 함수들을 살펴보는 함수
-------------------------------------------------------------------------------
function objinfo(obj)

    local meta = getmetatable(obj)
    if meta ~= nil then
        metainfo(meta)
    else
        print("no object infomation !!")
    end
end

function metainfo(meta)

    if meta ~= nil then
        local name = meta["__name"]
        if name ~= nil then
            metainfo(meta["__parent"])
            print("<"..name..">")
            for key,value in pairs(meta) do 
                if not string.find(key, "__..") then 
                    if type(value) == "function" then
                        print("\t[f] "..name..":"..key.."()")
                    elseif type(value) == "userdata" then
                        print("\t[v] "..name..":"..key)
                    end
                end
            end
        end
    end
end
-------------------------------------------------------------------------------
Posted by leafbird 트랙백 0 : 댓글 0

댓글을 달아 주세요