This article意味着除了数字,bool和nil之外的所有类型都是垃圾收集. The field gc is used for the other values (strings, tables, functions, heavy userdata, and threads), which are those subject to garbage collection. 这是否
The field gc is used for the other values (strings, tables, functions, heavy userdata, and threads), which are those subject to garbage collection.
这是否意味着在某些情况下过度使用这些非gc类型可能会导致内存泄漏?
在Lua中,实际上有两种类型:总是按值传递的值和按引用传递的值(按照 chapter 2.1 in the Lua Manual).你引用的那些都是“按值传递”类型,因此它们直接存储在变量中.
如果删除变量,该值将立即消失.
因此,它不会开始泄漏内存,当然,除非您继续生成包含新值的新变量.但在那种情况下,这是你自己的错;).