lua - 垃圾收集到表
问题描述
我想知道从垃圾收集中收集所有内容并将其放入表中进行排序的最佳方法是什么。
function CollectGarbageCollection()
return collectgarbage();
end
for i,v in next, CollectGarbageCollection() do
print(i,v) -- Data from Garbage Collection
end
上面的代码只是一个例子。
解决方案
你不能。垃圾收集的全部意义在于,在它们被收集之后,对象就消失了。您可以将元方法添加到您自己的对象中,当它们被垃圾收集时触发,仅此而已。
编辑:从技术上讲,你可以构建一个补丁版本的 Lua,每次收集一个对象时都会触发一些钩子,就在它的元方法之前__gc
,但这将是一堆工作。
推荐阅读
- c++ - c++ 进程间通信
- cordova - 离子:如何使用科尔多瓦插件网络服务器在混合应用程序中本地提供文件?
- java - 有条件地在打印 pdf 中显示文本
- django - 使用字段参数列表过滤 Django 模型
- java - 必须可解析为 Int - Java、Spring Boot
- pdf-generation - 我们可以使用 wkhtmltopdf 生成 PDF/A-3 文件吗
- reactjs - 在 npm run build 期间出现编译错误
- c# - 试图从 gridview 控件中获取数据键但得到“方法名称预期”编译错误,我的代码结构不正确吗?
- python - python numpy array reduction distance between elements
- r - R中时间序列的日期转换