WoW:API collectgarbage: Difference between revisions

m
Move page script moved page API collectgarbage to WoW:API collectgarbage without leaving a redirect
No edit summary
m (Move page script moved page API collectgarbage to WoW:API collectgarbage without leaving a redirect)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{wowapi}}
{{wowlua}}
<center>'''collectgarbage''' ''-Documentation by [[user:Aradan|Aradan]], Update by [[user:CuteMiyu|CuteMiyu]]-''</center>
Control the garbage collector and query it for information. As of WoW 2.0, this is the same as the standard collectgarbage() in Lua, but prior to that it was quite different.


Sets garbage collection limit and calls the garbage collector if the Lua byte counter exceeds this limit.
  collectgarbage([opt [, arg]])
 
Since WoW 2.0, it change to Lua 5.1. Lua 5.1 changed collectgarbage design, and you need update your script or AddOn if you used this function.
 
  collectgarbage(opt [, arg])


== Parameters ==
== Parameters ==
=== Arguments ===
=== Arguments ===
:(opt [, arg])
:([opt [, arg]])


:;opt: String - This function is a generic interface to the garbage collector. It performs different functions according to its first argument:
:;opt
:: String - This function is a generic interface to the garbage collector. It performs different functions according to its first argument:


::    * "stop": stops the garbage collector.
* "stop": stops the garbage collector.
::    * "restart": restarts the garbage collector.
    * "restart": restarts the garbage collector.
::    * "collect": performs a full garbage-collection cycle.
    * "collect": performs a full garbage-collection cycle. This is the default action if '''opt''' is not specified.
::    * "count": returns the total memory in use by Lua (in Kbytes).
    * "count": returns the total memory in use by Lua (in Kbytes).
::    * "step": performs a garbage-collection step. The step "size" is controlled by arg (larger values mean more steps) in a non-specified way. If you want to control the step size you must experimentally tune the value of arg. Returns true if the step finished a collection cycle.
    * "step": performs a garbage-collection step. The step "size" is controlled by arg (larger values mean more steps) in a non-specified way. If you want to control the step size you must experimentally tune the value of arg. Returns true if the step finished a collection cycle.
::    * "setpause": sets arg/100 as the new value for the pause of the collector (see §2.10).
    * "setpause": sets arg/100 as the new value for the pause of the collector (see §2.10).
::    * "setstepmul": sets arg/100 as the new value for the step multiplier of the collector (see §2.10).
    * "setstepmul": sets arg/100 as the new value for the step multiplier of the collector (see §2.10).


== Example ==
== Example ==
Line 26: Line 23:
  collectgarbage("count") -- return kilobytes of memory in use, i.e. 2048 for 2 megabytes
  collectgarbage("count") -- return kilobytes of memory in use, i.e. 2048 for 2 megabytes


== Note ==
There is a [[Lua]] function with the exact same name but its parameters and behavior is quite different from the WoW API version.
----
__NOTOC__
__NOTOC__
Anonymous user