This first edition was written for Lua 5.0. While still largely relevant for later versions, there are some differences.
The third edition targets Lua 5.2 and is available at Amazon and other bookstores.
By buying the book, you also help to support the Lua project.
|Programming in Lua|
|Part II. Tables and Objects Chapter 14. The Environment|
Lua keeps all its global variables in a regular table,
called the environment.
(To be more precise,
Lua keeps its "global" variables in several environments,
but we will ignore this multiplicity for a while.)
One advantage of this structure is that it simplifies the internal
implementation of Lua,
because there is no need for a different data structure for global variables.
The other (actually the main) advantage is that we can manipulate this
table as any other table.
To facilitate such manipulations,
Lua stores the environment itself in a global variable
_G._G is equal to
the following code prints the names of
all global variables defined in the current environment:
for n in pairs(_G) do print(n) end
In this chapter, we will see several useful techniques to manipulate the environment.
|Copyright © 2003–2004 Roberto Ierusalimschy. All rights reserved.|