Like many other programming languages, Lua implements the concept of scope for anything that can be named (like a variable). A scope defines where in the program a variable can be used. Scopes are limited to the chunks they appear in. A chunk is just a section of code. Some languages call chunks blocks because they are represented by blocks of code.
Every Lua file that is executed is a chunk. This chunk can contain other, smaller chunks. Think of it as a hierarchical relationship. Such a relationship could be visualized as follows:
You can create a local chunk in a file by using the do keyword. The chunk ends with the end keyword. The following bit of code demonstrates how to create a local chunk in a file:
-- main file chunk is anywhere in the file
do
-- local chunk
end
do
-- a different local chunk
end
As mentioned earlier, scope refers to visibility. A chunk can access...