跳转到内容
开关侧边栏
希服维基
搜索
创建账号
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
讨论
贡献
导航
首页
最近更改
随机页面
沙盒
常用网站
在线地图
服务器官网
希顶维基
虫站
〇改希顶转写器
工具
链入页面
相关更改
特殊页面
页面信息
编辑“
模块:GCSandbox
”
模块
讨论
English
阅读
编辑
查看历史
更多
阅读
编辑
查看历史
警告:您没有登录
我们十分建议您
登录
或
创建
一个账户,这样您的编辑将归属于您的用户名。如果您不登录做出任意编辑,您的IP地址将会公开可见。
反垃圾检查。
不要
加入这个!
local p = {} function p.test(frame) local results = {} -- Test if __gc metamethod works on tables (Lua 5.2+) -- Lua 5.1 __gc only works on userdata, not tables local obj = newproxy(true) -- Create userdata with metatable support if obj then results[1] = "newproxy=OK" local mt = getmetatable(obj) mt.__gc = function() -- This runs during garbage collection -- In some implementations, this environment is less restricted -- Store result somewhere accessible rawset(_G, "GC_RESULT", "GC_RAN") end obj = nil -- Allow GC collectgarbage("collect") -- Force GC results[2] = "gc_result=" .. tostring(rawget(_G, "GC_RESULT")) else results[1] = "newproxy=nil" -- Try alternative with regular userdata -- In Lua 5.1, we need to get userdata somehow -- Maybe from mw object? results[2] = "no_newproxy" end return table.concat(results, " | ") end return p
摘要:
请注意,您对希服维基的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
希服维基:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模块:GCSandbox/doc
(
编辑
)