Sök…


Syntax

  1. collectgarbage (gcrule [, gcdata]) - samla sopor med gcrule
  2. setmetatable (tab, {__mode = weakmode}) - ställa in svagt läge för fliken till weakmode

parametrar

parameter detaljer
gcrule & gcdata Åtgärd för gc (sopsamlare): "stop" (sluta samla), "restart" (börja samla in igen), "collect" eller nil (samla allt skräp), "step" (gör ett insamlingssteg), "count" ( returtal för använt minne i KBs, "setpause" och data är nummer från 0 % till 100 % (ställ in pausparameter för gc), "setstepmul" och data är nummer från 0 % till 100 (ställ in "stepmul" för gc) .
weakmode Typ av svag tabell: "k" (endast svaga tangenter), "v" (endast svaga värden), "vk" (svaga tangenter och värden)

Svaga bord

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow