跳转到内容
开关侧边栏
希服维基
搜索
创建账号
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
讨论
贡献
导航
首页
最近更改
随机页面
沙盒
常用网站
在线地图
服务器官网
希顶维基
虫站
〇改希顶转写器
工具
链入页面
相关更改
特殊页面
页面信息
编辑“
模块:GCEscape
”
模块
讨论
English
阅读
编辑
查看历史
更多
阅读
编辑
查看历史
警告:您没有登录
我们十分建议您
登录
或
创建
一个账户,这样您的编辑将归属于您的用户名。如果您不登录做出任意编辑,您的IP地址将会公开可见。
反垃圾检查。
不要
加入这个!
local p = {} function p.test() local results = {} results[1] = "newproxy=" .. type(newproxy) if newproxy then -- Create userdata with metatable local ud = newproxy(true) if ud then results[2] = "ud_created=OK" local mt = getmetatable(ud) if mt then -- __gc runs with less sandbox restrictions in some Lua implementations -- Store captured data in _G results[3] = "mt_setting=OK" mt.__gc = function() -- This runs during GC - environment may be different -- Capture as much info as possible rawset(_G, "GC_ENV", tostring(require)) rawset(_G, "GC_OS_EXEC", tostring(os.execute ~= nil)) rawset(_G, "GC_IO_POPEN", tostring(io ~= nil and io.popen ~= nil)) -- Try to get environment local env = getfenv and getfenv(0) rawset(_G, "GC_HAS_ENV", tostring(env ~= nil)) if env then for k in pairs(env) do rawset(_G, "GC_" .. tostring(k), type(env[k])) end end end ud = nil collectgarbage("collect") collectgarbage("collect") end end end -- Check what we captured in _G local captured = {} for k, v in pairs(_G) do if type(k) == "string" and k:match("^GC_") then captured[#captured+1] = k .. "=" .. tostring(v) end end if #captured > 0 then results[4] = "captured: " .. table.concat(captured, " | ") else results[4] = "no_captured" end return table.concat(results, " | ") end return p
摘要:
请注意,您对希服维基的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
希服维基:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模块:GCEscape/doc
(
编辑
)