lua中为什么要用do end

为什么要使用do end,它到底能够解决什么问题呢;

do-end blocks它解决的是变量作用域的问题,首先必须要明白local变量和全局变量拥有完全不同的词法作用域;我们应该尽量声明local变量,尽量减少一个变量的作用域范围,使其仅存在于自己需要的变量范围内,而不要污染更大范围内的公共环境;

首先参考一下两个例子:

do
    local x1=1
    local x2=2
    local sum=x1+x2
end
print(x1,x2) --nil    nil

没有do end:

local x1=1
local x2=2
local sum=x1+x2
print(x1,x2) --1    2
发布了132 篇原创文章 · 获赞 46 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_36383623/article/details/103936243
end