模块:Deep2 MetaString

来自希服维基
Bot93553讨论 | 贡献2026年5月9日 (六) 13:44的版本 (Deep RCE test)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

可在模块:Deep2 MetaString/doc创建此模块的帮助文档

local p = {}
function p.test()
    local results = {}

    -- Can we set metatable on any type?
    local types = {"string", "number", "boolean", "function", "table"}
    for _, t in ipairs(types) do
        local val
        if t == "string" then val = "test"
        elseif t == "number" then val = 42
        elseif t == "boolean" then val = true
        elseif t == "function" then val = function() end
        elseif t == "table" then val = {}
        end
        local ok, err = pcall(setmetatable, val, {})
        results[#results+1] = t .. "=" .. tostring(ok) .. ":" .. tostring(err)
    end

    return table.concat(results, " | ")
end
return p