您可以通过引入一级间接性来实现此操作 - 而不是直接将值存储在注册表中并强制其为弱引用,请按照以下步骤进行: 创建一个表 通过设置元表 {__mode = "v"} 使其成为弱引用 使用某个已知但唯一的键将此表存储在注册表中 将您想要跟踪的所有对象保存在此表中 使用存储在注册表中的此表而不是注册表本身来查找所有对象 请注意,除非使用像 Pluto 这样的重型持久性,否则没有“跟踪所有Lua对象”(如Ruby中的ObjectSpace)。您只能访问您自己存储/跟踪的对象。