Recherche…


Syntaxe

  1. collectgarbage (gcrule [, gcdata]) - Collecte les ordures en utilisant gcrule
  2. setmetatable (tab, {__mode = strongmode}) - Définit le mode faible de l'onglet sur faiblesse

Paramètres

paramètre détails
gcrule & gcdata Action vers gc (garbage collector): "stop" (arrête la collecte), "restart" (recommence à collecter), "collect" ou nil (collecte de tous les déchets), "step" (fait une étape de collecte), "count" ( retourne le nombre de mémoires utilisées en Ko), "setpause" et les données sont "setpause" entre 0 % et 100 % (paramètre de pause de gc), "setstepmul" et les données sont "setstepmul" entre 0 % et 100 (définissez "stepmul" pour gc) .
mode faible Type de tableau faible: "k" (uniquement les clés faibles), "v" (uniquement les valeurs faibles), "vk" (clés et valeurs faibles)

Tables faibles

local t1, t2, t3, t4 = {}, {}, {}, {} -- Create 4 tables
local maintab = {t1, t2} -- Regular table, strong references to t1 and t2
local weaktab = setmetatable({t1, t2, t3, t4}, {__mode = 'v'}) -- table with weak references.

t1, t2, t3, t4 = nil, nil, nil, nil -- No more "strong" references to t3 and t4
print(#maintab, #weaktab) --> 2 4

collectgarbage() -- Destroy t3 and t4 and delete weak links to them.
print(#maintab, #weaktab) --> 2 2


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow