A single name can denote a global variable or a local variable (or a function’s formal parameter, which is a particular kind of local variable):
Name denotes identifiers (see ).
Before the first assignment to a variable, its value is nil.
Square brackets are used to index a table:
The syntax is just syntactic sugar for :
An access to a global variable is equivalent to . Due to the way that chunks are compiled, the variable itself is never global (see §2.2).