July 2018
Beginner
202 pages
5h 42m
English
Chunks are all about scope! You can access any variable defined outside of a scope from within the scope. Think of a scope like a one-way window in a room; from the inside you can see out, but from the outside you can't see in:
foo = 7 -- global scopedo local bar = 8 -- local scope print ("foo: " .. foo) print ("bar: " .. bar)end
However, you can't access a variable local to a scope outside of that scope:
foo = 7 -- globaldo local bar = 8 -- localendprint ("foo: " .. foo)print ("bar: " .. bar) -- error!-- bar was declared local to the do/end chunk-- it is trying to be printed at the file or-- global chunk level, where it does not exist
The same access pattern is also true for multiple nested chunks:
foo = 7 -- globaldo local ...