a = 100 do local a = 5; print(a) --5 end for a=1,3,1 do print(a) --1,2,3 end print(a) --100
do end规定了一个块,循环判断等语句里面也是一个块,在块中的声明local只会在块中生效。
在交互环境中,每一句都会当成一个块,也就是一句local i = 1,下一句i就不存在了,所以要用do end框起来