Module utils.loader
Code loading/unloading utils.
This module provides additional utility functions to handle the lifecycle of Lua files.
Type utils.loader
utils.loader.loadBuffer(buffer, name, destroy) |
Compiles a buffer (ie a list of strings) into an executable function. |
utils.loader.unload(name) |
Unloads a module by removing references to it. |
Type utils.loader
Field(s)
- utils.loader.loadBuffer(buffer, name, destroy)
-
Compiles a buffer (ie a list of strings) into an executable function.
This function is quite similar to Lua's
loadstring()
core function, except that it takes a list of strings as a parameter rather than a single string. Since it never concatenates the string internally, using this function instead ofloadstring()
limit fragmentation issues when loading large files on a device with very limited RAM resources.Parameters
-
buffer
: a list of strings. -
name
: is an optional chunk name used for debug traces. -
destroy
: is a boolean. When true, the buffer is read destructively (saves RAM when handling big sources).
Return value
function resulting of the buffer compilation
-
- utils.loader.unload(name)
-
Unloads a module by removing references to it.
When a module isn't used anymore, one can call this function with the module's name as a parameter. It will remove references to the module in
package
's internal tables, thus allowing the module's resources to be reclaimed by the garbage collector if no deangling references remain in the application.- Call function
package.loaded[name].__unload()
if it exists - Clear
package.loaded[name]
- Clear
_G[name]
Parameter
-
name
: the name of the module to unload.
- Call function