[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Life cycle question...
- From: Roberto Ierusalimschy <roberto@...>
- Date: Wed, 11 Feb 2004 16:30:05 -0200
A "chunk" is a syntactical concept. At run time, chunks are loaded in
Lua as functions. Those functions are subject to garbage collection,
like all objects inside a Lua environment. Of course, if a chunk defines
other functions, to "unload" the chunk you have to free those functions,
too.
For instance, assume a chunk like this:
function a () print(1) end
function b (x) return x+1 end
Once you load it, running << chunk = loadfile("filename") >>, Lua
creates a new function that represents the chunk. Once you call
that function, running << chunk() >>, it creates two new global
variables, "a" and "b". If you set "a", "b", and "chunk" to nil (or any
other value), the three functions are now garbage and are eventually
collected.
-- Roberto