I tested the scope for Lua and noticed something unexpected. The following code does not print localMainVariable.
function functionScope() print( "\nIn function") print( "globalMainVariable: " .. globalMainVariable ) if (localMainVariable ~= nil) then print( "localMainVariable: " .. localMainVariable ) end end globalMainVariable = "Visible" local localMainVariable = "Visible" functionScope()
But the following code prints localMainVariable.
globalMainVariable = "Visible" local localMainVariable = "Visible" function functionScope() print( "\nIn function") print( "globalMainVariable: " .. globalMainVariable ) if (localMainVariable ~= nil) then print( "localMainVariable: " .. localMainVariable ) end end functionScope()
I know this has something to do with where localMainVariable is declared, but I thought making it local would limit the scope of the variable. What is the actual rule?
thanks
source share