加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Lua中巧妙的获取函数的参数个数

发布时间:2020-12-14 21:51:17 所属栏目:大数据 来源:网络整理
导读:function getArgs(fun) local args = {} local hook = debug.gethook() local argHook = function(...) local info = debug.getinfo(3) for k,v in pairs(info) do print(k,v) end if "pcall" ~= info.name then return end for i = 1,math.huge do local na
function getArgs(fun)
    local args = {}
    local hook = debug.gethook()
    local argHook = function(...)
        local info = debug.getinfo(3)
        for k,v in pairs(info) do
        	print(k,v)
        end
        if "pcall" ~= info.name then
            return
        end
        for i = 1,math.huge do
            local name,value = debug.getlocal(2,i)
            print(i,name,value)
            if "(*temporary)" == name then
                debug.sethook(hook)
                error("")
                return
            end
            table.insert(args,name)
        end
    end
    debug.sethook(argHook,"c")
    pcall(fun)
    return args
end

function test(a,b,c)
	print(a,c)
end


local t = getArgs(test)
for k,v in pairs(t) do
	print(k,v)
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读